Source Code
Latest 25 from a total of 47 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Release All | 11213706 | 1798 days ago | IN | 0 ETH | 0.00896584 | ||||
Release All | 11206422 | 1799 days ago | IN | 0 ETH | 0.00939279 | ||||
Release All | 11202701 | 1800 days ago | IN | 0 ETH | 0.01009143 | ||||
Release All | 11199691 | 1800 days ago | IN | 0 ETH | 0.00834483 | ||||
Release All | 11195690 | 1801 days ago | IN | 0 ETH | 0.01203209 | ||||
Release All | 11193260 | 1801 days ago | IN | 0 ETH | 0.00621011 | ||||
Release All | 11190090 | 1802 days ago | IN | 0 ETH | 0.0085389 | ||||
Release All | 11187533 | 1802 days ago | IN | 0 ETH | 0.01086769 | ||||
Release All | 11183035 | 1803 days ago | IN | 0 ETH | 0.0194066 | ||||
Release All | 11182204 | 1803 days ago | IN | 0 ETH | 0.02251165 | ||||
Release All | 11181157 | 1803 days ago | IN | 0 ETH | 0.01086769 | ||||
Release All | 11180502 | 1803 days ago | IN | 0 ETH | 0.01397275 | ||||
Release All | 11179785 | 1803 days ago | IN | 0 ETH | 0.01280835 | ||||
Release All | 11178192 | 1804 days ago | IN | 0 ETH | 0.01901846 | ||||
Release All | 11175302 | 1804 days ago | IN | 0 ETH | 0.0170778 | ||||
Release All | 11173409 | 1804 days ago | IN | 0 ETH | 0.00931516 | ||||
Release All | 11171172 | 1805 days ago | IN | 0 ETH | 0.0097033 | ||||
Release All | 11168769 | 1805 days ago | IN | 0 ETH | 0.0073745 | ||||
Release All | 11168052 | 1805 days ago | IN | 0 ETH | 0.00896584 | ||||
Release All | 11166960 | 1805 days ago | IN | 0 ETH | 0.00776264 | ||||
Release All | 11164766 | 1806 days ago | IN | 0 ETH | 0.01086769 | ||||
Release All | 11162444 | 1806 days ago | IN | 0 ETH | 0.01125582 | ||||
Release All | 11162377 | 1806 days ago | IN | 0 ETH | 0.01979473 | ||||
Release All | 11162278 | 1806 days ago | IN | 0 ETH | 0.01203209 | ||||
Release All | 11161175 | 1806 days ago | IN | 0 ETH | 0.007064 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
- | 11213706 | 1798 days ago | 0.00395751 ETH | ||||
- | 11213706 | 1798 days ago | 0.00395751 ETH | ||||
- | 11213706 | 1798 days ago | 0.00395751 ETH | ||||
- | 11213706 | 1798 days ago | 0.00395751 ETH | ||||
- | 11213706 | 1798 days ago | 0.00395751 ETH | ||||
- | 11213706 | 1798 days ago | 0.00395751 ETH | ||||
- | 11213706 | 1798 days ago | 0.00791502 ETH | ||||
- | 11213706 | 1798 days ago | 0.00989378 ETH | ||||
- | 11213706 | 1798 days ago | 0.01187254 ETH | ||||
- | 11213706 | 1798 days ago | 0.01187254 ETH | ||||
- | 11213706 | 1798 days ago | 0.02176632 ETH | ||||
- | 11213706 | 1798 days ago | 0.03957514 ETH | ||||
- | 11213706 | 1798 days ago | 0.05144768 ETH | ||||
- | 11213706 | 1798 days ago | 0.05936271 ETH | ||||
- | 11213706 | 1798 days ago | 0.15830057 ETH | ||||
- | 11206890 | 1799 days ago | 0.39575142 ETH | ||||
- | 11206422 | 1799 days ago | 0.04333645 ETH | ||||
- | 11206422 | 1799 days ago | 0.04333645 ETH | ||||
- | 11206422 | 1799 days ago | 0.04333645 ETH | ||||
- | 11206422 | 1799 days ago | 0.04333645 ETH | ||||
- | 11206422 | 1799 days ago | 0.04333645 ETH | ||||
- | 11206422 | 1799 days ago | 0.04333645 ETH | ||||
- | 11206422 | 1799 days ago | 0.0866729 ETH | ||||
- | 11206422 | 1799 days ago | 0.10834113 ETH | ||||
- | 11206422 | 1799 days ago | 0.13000935 ETH |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
PaymentSplitter
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity Multiple files format)
// SPDX-License-Identifier: MIT pragma solidity ^0.6.12; import './Context.sol'; import './SafeMath.sol'; /** * @title PaymentSplitter * @dev This contract allows to split Ether payments among a group of accounts. The sender does not need to be aware * that the Ether will be split in this way, since it is handled transparently by the contract. * * The split can be in equal parts or in any other arbitrary proportion. The way this is specified is by assigning each * account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim * an amount proportional to the percentage of total shares they were assigned. * * `PaymentSplitter` follows a _pull payment_ model. This means that payments are not automatically forwarded to the * accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release} * function. */ contract PaymentSplitter is Context { using SafeMath for uint256; event PayeeAdded(address account, uint256 shares); event PaymentReleased(address to, uint256 amount); event PaymentReceived(address from, uint256 amount); uint256 private _totalShares; uint256 private _totalReleased; mapping(address => uint256) private _shares; mapping(address => uint256) private _released; address[] private _payees; /** * @dev Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at * the matching position in the `shares` array. * * All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no * duplicates in `payees`. */ constructor () public { // 1000 shares total. 10 shares = 1% _addPayee(0xA81eac3009bD6E6cCE36602d6851fDA789dDC3BB, 400); _addPayee(0xF76Df69C8bf3bcFdBc46F69773749f2E308Fc2D1, 150); _addPayee(0xFaDED72464D6e76e37300B467673b36ECc4d2ccF, 130); _addPayee(0xEa9F106172697E3E363f9f4B292f73b1217b2a88, 100); _addPayee(0x7e7e2bf7EdC52322ee1D251432c248693eCd9E0f, 55); _addPayee(0x3DCa07E16B2Becd3eb76a9F9CE240B525451f887, 30); _addPayee(0x20404Bd50e8640424a7D3BF41B3417C9AE765507, 30); _addPayee(0x82eE15e7C0c923e512eB0C554a50E08254EbD660, 25); _addPayee(0xFB015608e84b32f44361429B92B6d62B937e2015, 20); _addPayee(0xFCd6AD49134A0755923c096382e5fc3b80Cb21b5, 10); _addPayee(0xfD2D983aF16dA2965F5654a0166b8e33Cc3Cf5F1, 10); _addPayee(0x6e43d04A2c8b8Dc3a6FA9DD35711559B493543d1, 10); _addPayee(0x37fc5190c725F448fa9D88DE87843884164a684b, 10); _addPayee(0x4425eD8684f3A6C1093E27FD44020B3917f29227, 10); _addPayee(0x3b1356CA97A31b3a2DAd0e901b9F73380e00B66D, 10); } /** * @dev The Ether received will be logged with {PaymentReceived} events. Note that these events are not fully * reliable: it's possible for a contract to receive Ether without triggering this function. This only affects the * reliability of the events, and not the actual splitting of Ether. * * To learn more about this see the Solidity documentation for * https://solidity.readthedocs.io/en/latest/contracts.html#fallback-function[fallback * functions]. */ receive () external payable virtual { emit PaymentReceived(_msgSender(), msg.value); } /** * @dev Getter for the total shares held by payees. */ function totalShares() public view returns (uint256) { return _totalShares; } /** * @dev Getter for the total amount of Ether already released. */ function totalReleased() public view returns (uint256) { return _totalReleased; } /** * @dev Getter for the amount of shares held by an account. */ function shares(address account) public view returns (uint256) { return _shares[account]; } /** * @dev Getter for the amount of Ether already released to a payee. */ function released(address account) public view returns (uint256) { return _released[account]; } /** * @dev Getter for the address of the payee number `index`. */ function payee(uint256 index) public view returns (address) { return _payees[index]; } /** * @dev Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the * total shares and their previous withdrawals. */ function release(address payable account) public virtual { require(_shares[account] > 0, "PaymentSplitter: account has no shares"); uint256 totalReceived = address(this).balance.add(_totalReleased); uint256 payment = totalReceived.mul(_shares[account]).div(_totalShares).sub(_released[account]); require(payment != 0, "PaymentSplitter: account is not due payment"); _released[account] = _released[account].add(payment); _totalReleased = _totalReleased.add(payment); account.transfer(payment); emit PaymentReleased(account, payment); } function releaseAll() external virtual { for (uint256 i = 0; i < _payees.length; i++) { release(address(uint160(_payees[i]))); } } /** * @dev Add a new payee to the contract. * @param account The address of the payee to add. * @param shares_ The number of shares owned by the payee. */ function _addPayee(address account, uint256 shares_) private { require(account != address(0), "PaymentSplitter: account is the zero address"); require(shares_ > 0, "PaymentSplitter: shares are 0"); require(_shares[account] == 0, "PaymentSplitter: account already has shares"); _payees.push(account); _shares[account] = shares_; _totalShares = _totalShares.add(shares_); emit PayeeAdded(account, shares_); } }
pragma solidity ^0.6.12; // File: @openzeppelin/contracts/GSN/Context.sol /* * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with GSN meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address payable) { return msg.sender; } function _msgData() internal view virtual returns (bytes memory) { this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691 return msg.data; } }
pragma solidity ^0.6.12; // File: @openzeppelin/contracts/math/SafeMath.sol /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ 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. */ 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. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { 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. */ 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
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"shares","type":"uint256"}],"name":"PayeeAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PaymentReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PaymentReleased","type":"event"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"payee","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"account","type":"address"}],"name":"release","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"releaseAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"released","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReleased","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040523480156200001157600080fd5b506200003473a81eac3009bd6e6cce36602d6851fda789ddc3bb61019062000208565b6200005573f76df69c8bf3bcfdbc46f69773749f2e308fc2d1609662000208565b6200007673faded72464d6e76e37300b467673b36ecc4d2ccf608262000208565b6200009773ea9f106172697e3e363f9f4b292f73b1217b2a88606462000208565b620000b8737e7e2bf7edc52322ee1d251432c248693ecd9e0f603762000208565b620000d9733dca07e16b2becd3eb76a9f9ce240b525451f887601e62000208565b620000fa7320404bd50e8640424a7d3bf41b3417c9ae765507601e62000208565b6200011b7382ee15e7c0c923e512eb0c554a50e08254ebd660601962000208565b6200013c73fb015608e84b32f44361429b92b6d62b937e2015601462000208565b6200015d73fcd6ad49134a0755923c096382e5fc3b80cb21b5600a62000208565b6200017e73fd2d983af16da2965f5654a0166b8e33cc3cf5f1600a62000208565b6200019f736e43d04a2c8b8dc3a6fa9dd35711559b493543d1600a62000208565b620001c07337fc5190c725f448fa9d88de87843884164a684b600a62000208565b620001e1734425ed8684f3a6c1093e27fd44020b3917f29227600a62000208565b62000202733b1356ca97a31b3a2dad0e901b9f73380e00b66d600a62000208565b6200041d565b6001600160a01b0382166200024f5760405162461bcd60e51b815260040180806020018281038252602c81526020018062000b7f602c913960400191505060405180910390fd5b60008111620002a5576040805162461bcd60e51b815260206004820152601d60248201527f5061796d656e7453706c69747465723a20736861726573206172652030000000604482015290519081900360640190fd5b6001600160a01b03821660009081526002602052604090205415620002fc5760405162461bcd60e51b815260040180806020018281038252602b81526020018062000bab602b913960400191505060405180910390fd5b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0319166001600160a01b03841690811790915560009081526002602090815260408220839055905462000370918390620003bb811b6200046e17901c565b600055604080516001600160a01b03841681526020810183905281517f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac929181900390910190a15050565b60008282018381101562000416576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b610752806200042d6000396000f3fe6080604052600436106100745760003560e01c80638b83209b1161004e5780638b83209b1461013a5780639852595c14610180578063ce7c2ac2146101b3578063e33b7de3146101e6576100c4565b806319165587146100c95780633a98ef39146100fe5780635be7fde814610125576100c4565b366100c4577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7706100a26101fb565b604080516001600160a01b0390921682523460208301528051918290030190a1005b600080fd5b3480156100d557600080fd5b506100fc600480360360208110156100ec57600080fd5b50356001600160a01b03166101ff565b005b34801561010a57600080fd5b506101136103c0565b60408051918252519081900360200190f35b34801561013157600080fd5b506100fc6103c6565b34801561014657600080fd5b506101646004803603602081101561015d57600080fd5b5035610408565b604080516001600160a01b039092168252519081900360200190f35b34801561018c57600080fd5b50610113600480360360208110156101a357600080fd5b50356001600160a01b0316610432565b3480156101bf57600080fd5b50610113600480360360208110156101d657600080fd5b50356001600160a01b031661044d565b3480156101f257600080fd5b50610113610468565b3390565b6001600160a01b0381166000908152600260205260409020546102535760405162461bcd60e51b81526004018080602001828103825260268152602001806106ab6026913960400191505060405180910390fd5b600061026a6001544761046e90919063ffffffff16565b6001600160a01b038316600090815260036020908152604080832054835460029093529083205493945091926102b692916102b0916102aa9087906104d1565b9061052a565b9061056c565b9050806102f45760405162461bcd60e51b815260040180806020018281038252602b8152602001806106d1602b913960400191505060405180910390fd5b6001600160a01b038316600090815260036020526040902054610317908261046e565b6001600160a01b03841660009081526003602052604090205560015461033d908261046e565b6001556040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610376573d6000803e3d6000fd5b50604080516001600160a01b03851681526020810183905281517fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056929181900390910190a1505050565b60005490565b60005b600454811015610405576103fd600482815481106103e357fe5b6000918252602090912001546001600160a01b03166101ff565b6001016103c9565b50565b60006004828154811061041757fe5b6000918252602090912001546001600160a01b031692915050565b6001600160a01b031660009081526003602052604090205490565b6001600160a01b031660009081526002602052604090205490565b60015490565b6000828201838110156104c8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000826104e0575060006104cb565b828202828482816104ed57fe5b04146104c85760405162461bcd60e51b81526004018080602001828103825260218152602001806106fc6021913960400191505060405180910390fd5b60006104c883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506105ae565b60006104c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610650565b6000818361063a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105ff5781810151838201526020016105e7565b50505050905090810190601f16801561062c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161064657fe5b0495945050505050565b600081848411156106a25760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156105ff5781810151838201526020016105e7565b50505090039056fe5061796d656e7453706c69747465723a206163636f756e7420686173206e6f207368617265735061796d656e7453706c69747465723a206163636f756e74206973206e6f7420647565207061796d656e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ead52962b65f5ecdc89a2ed0dbd125752e84eda9a4544901bfff801db5d6533064736f6c634300060c00335061796d656e7453706c69747465723a206163636f756e7420697320746865207a65726f20616464726573735061796d656e7453706c69747465723a206163636f756e7420616c72656164792068617320736861726573
Deployed Bytecode
0x6080604052600436106100745760003560e01c80638b83209b1161004e5780638b83209b1461013a5780639852595c14610180578063ce7c2ac2146101b3578063e33b7de3146101e6576100c4565b806319165587146100c95780633a98ef39146100fe5780635be7fde814610125576100c4565b366100c4577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be7706100a26101fb565b604080516001600160a01b0390921682523460208301528051918290030190a1005b600080fd5b3480156100d557600080fd5b506100fc600480360360208110156100ec57600080fd5b50356001600160a01b03166101ff565b005b34801561010a57600080fd5b506101136103c0565b60408051918252519081900360200190f35b34801561013157600080fd5b506100fc6103c6565b34801561014657600080fd5b506101646004803603602081101561015d57600080fd5b5035610408565b604080516001600160a01b039092168252519081900360200190f35b34801561018c57600080fd5b50610113600480360360208110156101a357600080fd5b50356001600160a01b0316610432565b3480156101bf57600080fd5b50610113600480360360208110156101d657600080fd5b50356001600160a01b031661044d565b3480156101f257600080fd5b50610113610468565b3390565b6001600160a01b0381166000908152600260205260409020546102535760405162461bcd60e51b81526004018080602001828103825260268152602001806106ab6026913960400191505060405180910390fd5b600061026a6001544761046e90919063ffffffff16565b6001600160a01b038316600090815260036020908152604080832054835460029093529083205493945091926102b692916102b0916102aa9087906104d1565b9061052a565b9061056c565b9050806102f45760405162461bcd60e51b815260040180806020018281038252602b8152602001806106d1602b913960400191505060405180910390fd5b6001600160a01b038316600090815260036020526040902054610317908261046e565b6001600160a01b03841660009081526003602052604090205560015461033d908261046e565b6001556040516001600160a01b0384169082156108fc029083906000818181858888f19350505050158015610376573d6000803e3d6000fd5b50604080516001600160a01b03851681526020810183905281517fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056929181900390910190a1505050565b60005490565b60005b600454811015610405576103fd600482815481106103e357fe5b6000918252602090912001546001600160a01b03166101ff565b6001016103c9565b50565b60006004828154811061041757fe5b6000918252602090912001546001600160a01b031692915050565b6001600160a01b031660009081526003602052604090205490565b6001600160a01b031660009081526002602052604090205490565b60015490565b6000828201838110156104c8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000826104e0575060006104cb565b828202828482816104ed57fe5b04146104c85760405162461bcd60e51b81526004018080602001828103825260218152602001806106fc6021913960400191505060405180910390fd5b60006104c883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506105ae565b60006104c883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610650565b6000818361063a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156105ff5781810151838201526020016105e7565b50505050905090810190601f16801561062c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161064657fe5b0495945050505050565b600081848411156106a25760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156105ff5781810151838201526020016105e7565b50505090039056fe5061796d656e7453706c69747465723a206163636f756e7420686173206e6f207368617265735061796d656e7453706c69747465723a206163636f756e74206973206e6f7420647565207061796d656e74536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220ead52962b65f5ecdc89a2ed0dbd125752e84eda9a4544901bfff801db5d6533064736f6c634300060c0033
Deployed Bytecode Sourcemap
932:5000:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3340:40;3356:12;:10;:12::i;:::-;3340:40;;;-1:-1:-1;;;;;3340:40:1;;;;;3370:9;3340:40;;;;;;;;;;;;;932:5000;;;;;4504:606;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4504:606:1;-1:-1:-1;;;;;4504:606:1;;:::i;:::-;;3465:89;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;5116:162;;;;;;;;;;;;;:::i;4212:98::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4212:98:1;;:::i;:::-;;;;-1:-1:-1;;;;;4212:98:1;;;;;;;;;;;;;;4019:107;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4019:107:1;-1:-1:-1;;;;;4019:107:1;;:::i;3822:103::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3822:103:1;-1:-1:-1;;;;;3822:103:1;;:::i;3643:93::-;;;;;;;;;;;;;:::i;608:104:0:-;695:10;608:104;:::o;4504:606:1:-;-1:-1:-1;;;;;4579:16:1;;4598:1;4579:16;;;:7;:16;;;;;;4571:71;;;;-1:-1:-1;;;4571:71:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4653:21;4677:41;4703:14;;4677:21;:25;;:41;;;;:::i;:::-;-1:-1:-1;;;;;4804:18:1;;4728:15;4804:18;;;:9;:18;;;;;;;;;4786:12;;4764:7;:16;;;;;;;4653:65;;-1:-1:-1;4728:15:1;;4746:77;;4804:18;4746:53;;:35;;4653:65;;4746:17;:35::i;:::-;:39;;:53::i;:::-;:57;;:77::i;:::-;4728:95;-1:-1:-1;4842:12:1;4834:68;;;;-1:-1:-1;;;4834:68:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4934:18:1;;;;;;:9;:18;;;;;;:31;;4957:7;4934:22;:31::i;:::-;-1:-1:-1;;;;;4913:18:1;;;;;;:9;:18;;;;;:52;4992:14;;:27;;5011:7;4992:18;:27::i;:::-;4975:14;:44;5030:25;;-1:-1:-1;;;;;5030:16:1;;;:25;;;;;5047:7;;5030:25;;;;5047:7;5030:16;:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5070:33:1;;;-1:-1:-1;;;;;5070:33:1;;;;;;;;;;;;;;;;;;;;;;;4504:606;;;:::o;3465:89::-;3509:7;3535:12;3465:89;:::o;5116:162::-;5170:9;5165:107;5189:7;:14;5185:18;;5165:107;;;5224:37;5248:7;5256:1;5248:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5248:10:1;5224:7;:37::i;:::-;5205:3;;5165:107;;;;5116:162::o;4212:98::-;4263:7;4289;4297:5;4289:14;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4289:14:1;;4212:98;-1:-1:-1;;4212:98:1:o;4019:107::-;-1:-1:-1;;;;;4101:18:1;4075:7;4101:18;;;:9;:18;;;;;;;4019:107::o;3822:103::-;-1:-1:-1;;;;;3902:16:1;3876:7;3902:16;;;:7;:16;;;;;;;3822:103::o;3643:93::-;3715:14;;3643:93;:::o;894:176:2:-;952:7;983:5;;;1006:6;;;;998:46;;;;;-1:-1:-1;;;998:46:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;1062:1;-1:-1:-1;894:176:2;;;;;:::o;2200:459::-;2258:7;2499:6;2495:45;;-1:-1:-1;2528:1:2;2521:8;;2495:45;2562:5;;;2566:1;2562;:5;:1;2585:5;;;;;:10;2577:56;;;;-1:-1:-1;;;2577:56:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3121:130;3179:7;3205:39;3209:1;3212;3205:39;;;;;;;;;;;;;;;;;:3;:39::i;1341:134::-;1399:7;1425:43;1429:1;1432;1425:43;;;;;;;;;;;;;;;;;:3;:43::i;3733:272::-;3819:7;3853:12;3846:5;3838:28;;;;-1:-1:-1;;;3838:28:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3876:9;3892:1;3888;:5;;;;;;;3733:272;-1:-1:-1;;;;;3733:272:2:o;1766:187::-;1852:7;1887:12;1879:6;;;;1871:29;;;;-1:-1:-1;;;1871:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1922:5:2;;;1766:187::o
Swarm Source
ipfs://ead52962b65f5ecdc89a2ed0dbd125752e84eda9a4544901bfff801db5d65330
Loading...
Loading
Loading...
Loading

Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $3,823.57 | 0.000000000000000008 | <$0.000001 |
Loading...
Loading
Loading...
Loading
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.