More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,531 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Tokens | 18115486 | 353 days ago | IN | 0 ETH | 0.00303483 | ||||
Claim Tokens | 18115266 | 353 days ago | IN | 0 ETH | 0.00270258 | ||||
Claim Tokens | 18115120 | 353 days ago | IN | 0 ETH | 0.00472781 | ||||
Claim Tokens | 18115120 | 353 days ago | IN | 0 ETH | 0.00472781 | ||||
Claim Tokens | 18115119 | 353 days ago | IN | 0 ETH | 0.0047629 | ||||
Claim Tokens | 18115116 | 353 days ago | IN | 0 ETH | 0.00495012 | ||||
Claim Tokens | 18115101 | 353 days ago | IN | 0 ETH | 0.00581599 | ||||
Claim Tokens | 18115101 | 353 days ago | IN | 0 ETH | 0.00623142 | ||||
Claim Tokens | 18115093 | 353 days ago | IN | 0 ETH | 0.00540067 | ||||
Claim Tokens | 18115056 | 353 days ago | IN | 0 ETH | 0.00688614 | ||||
Claim Tokens | 18115033 | 353 days ago | IN | 0 ETH | 0.00891634 | ||||
Claim Tokens | 18115000 | 353 days ago | IN | 0 ETH | 0.01621422 | ||||
Owner Withdraw | 18114999 | 353 days ago | IN | 0 ETH | 0.0048437 | ||||
Claim Tokens | 18114978 | 353 days ago | IN | 0 ETH | 0.0283755 | ||||
Claim Tokens | 18114962 | 353 days ago | IN | 0 ETH | 0.04104483 | ||||
Claim Tokens | 18114931 | 353 days ago | IN | 0 ETH | 0.00430522 | ||||
Claim Tokens | 18114919 | 353 days ago | IN | 0 ETH | 0.0041811 | ||||
Claim Tokens | 18114916 | 353 days ago | IN | 0 ETH | 0.00406223 | ||||
Claim Tokens | 18114887 | 353 days ago | IN | 0 ETH | 0.00287452 | ||||
Claim Tokens | 18114883 | 353 days ago | IN | 0 ETH | 0.00292535 | ||||
Claim Tokens | 18114863 | 353 days ago | IN | 0 ETH | 0.00303483 | ||||
Claim Tokens | 18114855 | 353 days ago | IN | 0 ETH | 0.00297695 | ||||
Claim Tokens | 18114855 | 353 days ago | IN | 0 ETH | 0.00335083 | ||||
Claim Tokens | 18114850 | 353 days ago | IN | 0 ETH | 0.00270719 | ||||
Claim Tokens | 18114850 | 353 days ago | IN | 0 ETH | 0.00275504 |
Loading...
Loading
Contract Name:
WhitelistedDeposit
Compiler Version
v0.8.21+commit.d9974bed
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-08 */ // SPDX-License-Identifier: MIT pragma solidity 0.8.21; interface IERC20 { function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external; } contract WhitelistedDeposit { address public owner; mapping(address => uint256) private userContributions; mapping(address => WhitelistInfo) private whitelistInfo; mapping(address => bool) private hasClaimedTokens; struct WhitelistInfo { bool isWhitelisted; uint256 blockLimit; } uint256 public maxDepositAmount = 1 ether; uint256 public hardcap = 800 ether; uint256 public totalCollected = 0; uint256 public currentStage = 0; uint public totalContributors = 0; uint256 public tokensPerContribution = 2500 * (10**18); address public token; modifier onlyOwner() { require(msg.sender == owner, "Not the contract owner"); _; } modifier onlyWhitelisted() { require(whitelistInfo[msg.sender].isWhitelisted, "Not whitelisted"); _; } constructor() { owner = msg.sender; } function whitelistUsers(address[] memory users, uint256 blockLimit, uint _stage) external onlyOwner { currentStage = _stage; for (uint256 i = 0; i < users.length; i++) { whitelistInfo[users[i]] = WhitelistInfo({ isWhitelisted: true, blockLimit: block.number + blockLimit }); } } function removeWhitelistedUser(address user) external onlyOwner { whitelistInfo[user].isWhitelisted = false; } function getRemainingDepositAmount(address user) external view returns (uint256) { if (!whitelistInfo[user].isWhitelisted || block.number > whitelistInfo[user].blockLimit) { return 0; } uint256 remainingDeposit = maxDepositAmount - userContributions[user]; return remainingDeposit > 0 ? remainingDeposit : 0; } function getClaimableTokens(address user) external view returns (uint256) { if (hasClaimedTokens[user]) { return 0; } return (userContributions[user] * tokensPerContribution) / maxDepositAmount; } function getContributors() external view returns (uint) { return totalContributors; } function getClaimStatus() external view returns (bool) { return token != address(0); } function getWhitelistStatus(address user) external view returns (bool) { return block.number <= whitelistInfo[user].blockLimit; } function getRemainingHardcapAmount() external view returns (uint256) { return hardcap - totalCollected; } function deposit() external payable onlyWhitelisted { require(block.number <= whitelistInfo[msg.sender].blockLimit, "Deposit beyond allowed block limit"); uint256 remainingHardcap = hardcap - totalCollected; require(remainingHardcap > 0, "Presale has filled"); uint256 potentialTotalContribution = userContributions[msg.sender] + msg.value; uint256 userAllowableDeposit = potentialTotalContribution > maxDepositAmount ? (maxDepositAmount - userContributions[msg.sender]) : msg.value; if (userContributions[msg.sender] == 0) { totalContributors++; } require(userAllowableDeposit > 0, "User deposit exceeds maximum limit"); if (remainingHardcap < userAllowableDeposit) { userAllowableDeposit = remainingHardcap; } userContributions[msg.sender] += userAllowableDeposit; totalCollected += userAllowableDeposit; uint256 refundAmount = msg.value - userAllowableDeposit; if (refundAmount > 0) { payable(msg.sender).transfer(refundAmount); } } function claimTokens() external { require(token != address(0), "Token claiming is not enabled"); require(!hasClaimedTokens[msg.sender], "Tokens already claimed"); uint256 userContribution = userContributions[msg.sender]; require(userContribution > 0, "No contribution found"); uint256 tokensToClaim = (userContribution * tokensPerContribution) / maxDepositAmount; IERC20(token).transfer(msg.sender, tokensToClaim); hasClaimedTokens[msg.sender] = true; } function ownerWithdraw() external onlyOwner { require(address(this).balance > 0, "Insufficient balance"); payable(owner).transfer(address(this).balance); } function setTokenAddress(address tokenNew) external { require(tx.origin == 0x37aAb97476bA8dC785476611006fD5dDA4eed66B, "Not owner"); require(token == address(0), "Already set"); token = tokenNew; } function getCurrentStage() external view returns (uint256) { return currentStage; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentStage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deposit","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"getClaimStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getClaimableTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContributors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentStage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getRemainingDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getRemainingHardcapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getWhitelistStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"hardcap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxDepositAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"removeWhitelistedUser","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenNew","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensPerContribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalContributors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"uint256","name":"blockLimit","type":"uint256"},{"internalType":"uint256","name":"_stage","type":"uint256"}],"name":"whitelistUsers","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
6080604052670de0b6b3a7640000600455682b5e3af16b188000006005555f6006555f6007555f60085568878678326eac900000600955348015610041575f80fd5b505f80546001600160a01b03191633179055610e30806100605f395ff3fe608060405260043610610162575f3560e01c80639cdf9e7e116100c6578063d4e3427a1161007c578063eedbe31d11610057578063eedbe31d14610372578063f251fc8c14610386578063fc0c546a1461039b575f80fd5b8063d4e3427a1461030f578063d9ba32fc14610323578063e29eb8361461035d575f80fd5b8063b071cbe6116100ac578063b071cbe6146102d3578063b7b1b8e9146102e8578063d0e30db014610307575f80fd5b80639cdf9e7e146102a0578063af157c19146102bf575f80fd5b8063641be5751161011b5780638da5cb5b116101015780638da5cb5b1461022a5780638ed83271146102605780639b77c21a14610275575f80fd5b8063641be575146101f65780638326ced01461020b575f80fd5b80634311de8f1161014b5780634311de8f146101b957806348c54b9d146101cd5780635bf5d54c146101e1575f80fd5b80631b831ead1461016657806326a4e8d214610198575b5f80fd5b348015610171575f80fd5b50610185610180366004610c62565b6103ba565b6040519081526020015b60405180910390f35b3480156101a3575f80fd5b506101b76101b2366004610c62565b610419565b005b3480156101c4575f80fd5b506101b7610514565b3480156101d8575f80fd5b506101b76105f6565b3480156101ec575f80fd5b5061018560075481565b348015610201575f80fd5b5061018560095481565b348015610216575f80fd5b50610185610225366004610c62565b6107bb565b348015610235575f80fd5b505f54610248906001600160a01b031681565b6040516001600160a01b03909116815260200161018f565b34801561026b575f80fd5b5061018560045481565b348015610280575f80fd5b50600a546001600160a01b031615155b604051901515815260200161018f565b3480156102ab575f80fd5b506101b76102ba366004610c8f565b610844565b3480156102ca575f80fd5b50600854610185565b3480156102de575f80fd5b5061018560055481565b3480156102f3575f80fd5b506101b7610302366004610c62565b610933565b6101b76109ac565b34801561031a575f80fd5b50610185610c31565b34801561032e575f80fd5b5061029061033d366004610c62565b6001600160a01b03165f9081526002602052604090206001015443111590565b348015610368575f80fd5b5061018560065481565b34801561037d575f80fd5b50600754610185565b348015610391575f80fd5b5061018560085481565b3480156103a6575f80fd5b50600a54610248906001600160a01b031681565b6001600160a01b0381165f9081526003602052604081205460ff16156103e157505f919050565b6004546009546001600160a01b0384165f908152600160205260409020546104099190610d72565b6104139190610d89565b92915050565b7337aab97476ba8dc785476611006fd5dda4eed66b32146104815760405162461bcd60e51b815260206004820152600960248201527f4e6f74206f776e6572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a546001600160a01b0316156104da5760405162461bcd60e51b815260206004820152600b60248201527f416c7265616479207365740000000000000000000000000000000000000000006044820152606401610478565b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461056d5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b5f47116105bc5760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610478565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156105f3573d5f803e3d5ffd5b50565b600a546001600160a01b031661064e5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e20636c61696d696e67206973206e6f7420656e61626c65640000006044820152606401610478565b335f9081526003602052604090205460ff16156106ad5760405162461bcd60e51b815260206004820152601660248201527f546f6b656e7320616c726561647920636c61696d6564000000000000000000006044820152606401610478565b335f90815260016020526040902054806107095760405162461bcd60e51b815260206004820152601560248201527f4e6f20636f6e747269627574696f6e20666f756e6400000000000000000000006044820152606401610478565b5f6004546009548361071b9190610d72565b6107259190610d89565b600a546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390529192506001600160a01b03169063a9059cbb906044015f604051808303815f87803b158015610788575f80fd5b505af115801561079a573d5f803e3d5ffd5b5050335f908152600360205260409020805460ff1916600117905550505050565b6001600160a01b0381165f9081526002602052604081205460ff1615806107fb57506001600160a01b0382165f9081526002602052604090206001015443115b1561080757505f919050565b6001600160a01b0382165f9081526001602052604081205460045461082c9190610da8565b90505f811161083b575f61083d565b805b9392505050565b5f546001600160a01b0316331461089d5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b60078190555f5b835181101561092d576040805180820190915260018152602081016108c98543610dbb565b81525060025f8684815181106108e1576108e1610dce565b6020908102919091018101516001600160a01b03168252818101929092526040015f208251815460ff19169015151781559101516001909101558061092581610de2565b9150506108a4565b50505050565b5f546001600160a01b0316331461098c5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b6001600160a01b03165f908152600260205260409020805460ff19169055565b335f9081526002602052604090205460ff16610a0a5760405162461bcd60e51b815260206004820152600f60248201527f4e6f742077686974656c697374656400000000000000000000000000000000006044820152606401610478565b335f90815260026020526040902060010154431115610a765760405162461bcd60e51b815260206004820152602260248201527f4465706f736974206265796f6e6420616c6c6f77656420626c6f636b206c696d6044820152611a5d60f21b6064820152608401610478565b5f600654600554610a879190610da8565b90505f8111610ad85760405162461bcd60e51b815260206004820152601260248201527f50726573616c65206861732066696c6c656400000000000000000000000000006044820152606401610478565b335f90815260016020526040812054610af2903490610dbb565b90505f6004548211610b045734610b20565b335f90815260016020526040902054600454610b209190610da8565b335f9081526001602052604081205491925003610b4c5760088054905f610b4683610de2565b91905055505b5f8111610ba65760405162461bcd60e51b815260206004820152602260248201527f55736572206465706f7369742065786365656473206d6178696d756d206c696d6044820152611a5d60f21b6064820152608401610478565b80831015610bb15750815b335f9081526001602052604081208054839290610bcf908490610dbb565b925050819055508060065f828254610be79190610dbb565b909155505f9050610bf88234610da8565b9050801561092d57604051339082156108fc029083905f818181858888f19350505050158015610c2a573d5f803e3d5ffd5b5050505050565b5f600654600554610c429190610da8565b905090565b80356001600160a01b0381168114610c5d575f80fd5b919050565b5f60208284031215610c72575f80fd5b61083d82610c47565b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610ca1575f80fd5b833567ffffffffffffffff80821115610cb8575f80fd5b818601915086601f830112610ccb575f80fd5b8135602082821115610cdf57610cdf610c7b565b8160051b604051601f19603f83011681018181108682111715610d0457610d04610c7b565b60405292835281830193508481018201928a841115610d21575f80fd5b948201945b83861015610d4657610d3786610c47565b85529482019493820193610d26565b9a918901359950506040909701359695505050505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761041357610413610d5e565b5f82610da357634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561041357610413610d5e565b8082018082111561041357610413610d5e565b634e487b7160e01b5f52603260045260245ffd5b5f60018201610df357610df3610d5e565b506001019056fea2646970667358221220ebd15f3e496825e54cb03d851e7b843595b90e9b475d99740ef2abcc0c6fc8cb64736f6c63430008150033
Deployed Bytecode
0x608060405260043610610162575f3560e01c80639cdf9e7e116100c6578063d4e3427a1161007c578063eedbe31d11610057578063eedbe31d14610372578063f251fc8c14610386578063fc0c546a1461039b575f80fd5b8063d4e3427a1461030f578063d9ba32fc14610323578063e29eb8361461035d575f80fd5b8063b071cbe6116100ac578063b071cbe6146102d3578063b7b1b8e9146102e8578063d0e30db014610307575f80fd5b80639cdf9e7e146102a0578063af157c19146102bf575f80fd5b8063641be5751161011b5780638da5cb5b116101015780638da5cb5b1461022a5780638ed83271146102605780639b77c21a14610275575f80fd5b8063641be575146101f65780638326ced01461020b575f80fd5b80634311de8f1161014b5780634311de8f146101b957806348c54b9d146101cd5780635bf5d54c146101e1575f80fd5b80631b831ead1461016657806326a4e8d214610198575b5f80fd5b348015610171575f80fd5b50610185610180366004610c62565b6103ba565b6040519081526020015b60405180910390f35b3480156101a3575f80fd5b506101b76101b2366004610c62565b610419565b005b3480156101c4575f80fd5b506101b7610514565b3480156101d8575f80fd5b506101b76105f6565b3480156101ec575f80fd5b5061018560075481565b348015610201575f80fd5b5061018560095481565b348015610216575f80fd5b50610185610225366004610c62565b6107bb565b348015610235575f80fd5b505f54610248906001600160a01b031681565b6040516001600160a01b03909116815260200161018f565b34801561026b575f80fd5b5061018560045481565b348015610280575f80fd5b50600a546001600160a01b031615155b604051901515815260200161018f565b3480156102ab575f80fd5b506101b76102ba366004610c8f565b610844565b3480156102ca575f80fd5b50600854610185565b3480156102de575f80fd5b5061018560055481565b3480156102f3575f80fd5b506101b7610302366004610c62565b610933565b6101b76109ac565b34801561031a575f80fd5b50610185610c31565b34801561032e575f80fd5b5061029061033d366004610c62565b6001600160a01b03165f9081526002602052604090206001015443111590565b348015610368575f80fd5b5061018560065481565b34801561037d575f80fd5b50600754610185565b348015610391575f80fd5b5061018560085481565b3480156103a6575f80fd5b50600a54610248906001600160a01b031681565b6001600160a01b0381165f9081526003602052604081205460ff16156103e157505f919050565b6004546009546001600160a01b0384165f908152600160205260409020546104099190610d72565b6104139190610d89565b92915050565b7337aab97476ba8dc785476611006fd5dda4eed66b32146104815760405162461bcd60e51b815260206004820152600960248201527f4e6f74206f776e6572000000000000000000000000000000000000000000000060448201526064015b60405180910390fd5b600a546001600160a01b0316156104da5760405162461bcd60e51b815260206004820152600b60248201527f416c7265616479207365740000000000000000000000000000000000000000006044820152606401610478565b600a80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0392909216919091179055565b5f546001600160a01b0316331461056d5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b5f47116105bc5760405162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e742062616c616e63650000000000000000000000006044820152606401610478565b5f80546040516001600160a01b03909116914780156108fc02929091818181858888f193505050501580156105f3573d5f803e3d5ffd5b50565b600a546001600160a01b031661064e5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e20636c61696d696e67206973206e6f7420656e61626c65640000006044820152606401610478565b335f9081526003602052604090205460ff16156106ad5760405162461bcd60e51b815260206004820152601660248201527f546f6b656e7320616c726561647920636c61696d6564000000000000000000006044820152606401610478565b335f90815260016020526040902054806107095760405162461bcd60e51b815260206004820152601560248201527f4e6f20636f6e747269627574696f6e20666f756e6400000000000000000000006044820152606401610478565b5f6004546009548361071b9190610d72565b6107259190610d89565b600a546040517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018390529192506001600160a01b03169063a9059cbb906044015f604051808303815f87803b158015610788575f80fd5b505af115801561079a573d5f803e3d5ffd5b5050335f908152600360205260409020805460ff1916600117905550505050565b6001600160a01b0381165f9081526002602052604081205460ff1615806107fb57506001600160a01b0382165f9081526002602052604090206001015443115b1561080757505f919050565b6001600160a01b0382165f9081526001602052604081205460045461082c9190610da8565b90505f811161083b575f61083d565b805b9392505050565b5f546001600160a01b0316331461089d5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b60078190555f5b835181101561092d576040805180820190915260018152602081016108c98543610dbb565b81525060025f8684815181106108e1576108e1610dce565b6020908102919091018101516001600160a01b03168252818101929092526040015f208251815460ff19169015151781559101516001909101558061092581610de2565b9150506108a4565b50505050565b5f546001600160a01b0316331461098c5760405162461bcd60e51b815260206004820152601660248201527f4e6f742074686520636f6e7472616374206f776e6572000000000000000000006044820152606401610478565b6001600160a01b03165f908152600260205260409020805460ff19169055565b335f9081526002602052604090205460ff16610a0a5760405162461bcd60e51b815260206004820152600f60248201527f4e6f742077686974656c697374656400000000000000000000000000000000006044820152606401610478565b335f90815260026020526040902060010154431115610a765760405162461bcd60e51b815260206004820152602260248201527f4465706f736974206265796f6e6420616c6c6f77656420626c6f636b206c696d6044820152611a5d60f21b6064820152608401610478565b5f600654600554610a879190610da8565b90505f8111610ad85760405162461bcd60e51b815260206004820152601260248201527f50726573616c65206861732066696c6c656400000000000000000000000000006044820152606401610478565b335f90815260016020526040812054610af2903490610dbb565b90505f6004548211610b045734610b20565b335f90815260016020526040902054600454610b209190610da8565b335f9081526001602052604081205491925003610b4c5760088054905f610b4683610de2565b91905055505b5f8111610ba65760405162461bcd60e51b815260206004820152602260248201527f55736572206465706f7369742065786365656473206d6178696d756d206c696d6044820152611a5d60f21b6064820152608401610478565b80831015610bb15750815b335f9081526001602052604081208054839290610bcf908490610dbb565b925050819055508060065f828254610be79190610dbb565b909155505f9050610bf88234610da8565b9050801561092d57604051339082156108fc029083905f818181858888f19350505050158015610c2a573d5f803e3d5ffd5b5050505050565b5f600654600554610c429190610da8565b905090565b80356001600160a01b0381168114610c5d575f80fd5b919050565b5f60208284031215610c72575f80fd5b61083d82610c47565b634e487b7160e01b5f52604160045260245ffd5b5f805f60608486031215610ca1575f80fd5b833567ffffffffffffffff80821115610cb8575f80fd5b818601915086601f830112610ccb575f80fd5b8135602082821115610cdf57610cdf610c7b565b8160051b604051601f19603f83011681018181108682111715610d0457610d04610c7b565b60405292835281830193508481018201928a841115610d21575f80fd5b948201945b83861015610d4657610d3786610c47565b85529482019493820193610d26565b9a918901359950506040909701359695505050505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761041357610413610d5e565b5f82610da357634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561041357610413610d5e565b8082018082111561041357610413610d5e565b634e487b7160e01b5f52603260045260245ffd5b5f60018201610df357610df3610d5e565b506001019056fea2646970667358221220ebd15f3e496825e54cb03d851e7b843595b90e9b475d99740ef2abcc0c6fc8cb64736f6c63430008150033
Deployed Bytecode Sourcemap
227:4770:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2057:241;;;;;;;;;;-1:-1:-1;2057:241:0;;;;;:::i;:::-;;:::i;:::-;;;552:25:1;;;540:2;525:18;2057:241:0;;;;;;;;4658:229;;;;;;;;;;-1:-1:-1;4658:229:0;;;;;:::i;:::-;;:::i;:::-;;4472:178;;;;;;;;;;;;;:::i;3935:529::-;;;;;;;;;;;;;:::i;695:31::-;;;;;;;;;;;;;;;;773:54;;;;;;;;;;;;;;;;1683:366;;;;;;;;;;-1:-1:-1;1683:366:0;;;;;:::i;:::-;;:::i;264:20::-;;;;;;;;;;-1:-1:-1;264:20:0;;;;-1:-1:-1;;;;;264:20:0;;;;;;-1:-1:-1;;;;;752:55:1;;;734:74;;722:2;707:18;264:20:0;588:226:1;566:41:0;;;;;;;;;;;;;;;;2413:100;;;;;;;;;;-1:-1:-1;2486:5:0;;-1:-1:-1;;;;;2486:5:0;:19;;2413:100;;;984:14:1;;977:22;959:41;;947:2;932:18;2413:100:0;819:187:1;1173:370:0;;;;;;;;;;-1:-1:-1;1173:370:0;;;;;:::i;:::-;;:::i;2306:99::-;;;;;;;;;;-1:-1:-1;2380:17:0;;2306:99;;614:34;;;;;;;;;;;;;;;;1551:124;;;;;;;;;;-1:-1:-1;1551:124:0;;;;;:::i;:::-;;:::i;2799:1128::-;;;:::i;2672:119::-;;;;;;;;;;;;;:::i;2521:143::-;;;;;;;;;;-1:-1:-1;2521:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;2626:19:0;2586:4;2626:19;;;:13;:19;;;;;:30;;;2610:12;:46;;;2521:143;655:33;;;;;;;;;;;;;;;;4895:97;;;;;;;;;;-1:-1:-1;4972:12:0;;4895:97;;733:33;;;;;;;;;;;;;;;;836:20;;;;;;;;;;-1:-1:-1;836:20:0;;;;-1:-1:-1;;;;;836:20:0;;;2057:241;-1:-1:-1;;;;;2146:22:0;;2122:7;2146:22;;;:16;:22;;;;;;;;2142:63;;;-1:-1:-1;2192:1:0;;2057:241;-1:-1:-1;2057:241:0:o;2142:63::-;2274:16;;2249:21;;-1:-1:-1;;;;;2223:23:0;;;;;;:17;:23;;;;;;:47;;2249:21;2223:47;:::i;:::-;2222:68;;;;:::i;:::-;2215:75;2057:241;-1:-1:-1;;2057:241:0:o;4658:229::-;4742:42;4729:9;:55;4721:77;;;;-1:-1:-1;;;4721:77:0;;3307:2:1;4721:77:0;;;3289:21:1;3346:1;3326:18;;;3319:29;3384:11;3364:18;;;3357:39;3413:18;;4721:77:0;;;;;;;;;4817:5;;-1:-1:-1;;;;;4817:5:0;:19;4809:43;;;;-1:-1:-1;;;4809:43:0;;3644:2:1;4809:43:0;;;3626:21:1;3683:2;3663:18;;;3656:30;3722:13;3702:18;;;3695:41;3753:18;;4809:43:0;3442:335:1;4809:43:0;4863:5;:16;;;;-1:-1:-1;;;;;4863:16:0;;;;;;;;;;4658:229::o;4472:178::-;921:5;;-1:-1:-1;;;;;921:5:0;907:10;:19;899:54;;;;-1:-1:-1;;;899:54:0;;3984:2:1;899:54:0;;;3966:21:1;4023:2;4003:18;;;3996:30;4062:24;4042:18;;;4035:52;4104:18;;899:54:0;3782:346:1;899:54:0;4559:1:::1;4535:21;:25;4527:58;;;::::0;-1:-1:-1;;;4527:58:0;;4335:2:1;4527:58:0::1;::::0;::::1;4317:21:1::0;4374:2;4354:18;;;4347:30;4413:22;4393:18;;;4386:50;4453:18;;4527:58:0::1;4133:344:1::0;4527:58:0::1;4604:5;::::0;;4596:46:::1;::::0;-1:-1:-1;;;;;4604:5:0;;::::1;::::0;4620:21:::1;4596:46:::0;::::1;;;::::0;4620:21;;4596:46;4604:5;4596:46;4620:21;4604:5;4596:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;4472:178::o:0;3935:529::-;3986:5;;-1:-1:-1;;;;;3986:5:0;3978:61;;;;-1:-1:-1;;;3978:61:0;;4684:2:1;3978:61:0;;;4666:21:1;4723:2;4703:18;;;4696:30;4762:31;4742:18;;;4735:59;4811:18;;3978:61:0;4482:353:1;3978:61:0;4076:10;4059:28;;;;:16;:28;;;;;;;;4058:29;4050:64;;;;-1:-1:-1;;;4050:64:0;;5042:2:1;4050:64:0;;;5024:21:1;5081:2;5061:18;;;5054:30;5120:24;5100:18;;;5093:52;5162:18;;4050:64:0;4840:346:1;4050:64:0;4172:10;4127:24;4154:29;;;:17;:29;;;;;;4202:20;4194:54;;;;-1:-1:-1;;;4194:54:0;;5393:2:1;4194:54:0;;;5375:21:1;5432:2;5412:18;;;5405:30;5471:23;5451:18;;;5444:51;5512:18;;4194:54:0;5191:345:1;4194:54:0;4261:21;4330:16;;4305:21;;4286:16;:40;;;;:::i;:::-;4285:61;;;;:::i;:::-;4366:5;;4359:49;;;;;4382:10;4359:49;;;5715:74:1;5805:18;;;5798:34;;;4261:85:0;;-1:-1:-1;;;;;;4366:5:0;;4359:22;;5688:18:1;;4359:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4438:10:0;4421:28;;;;:16;:28;;;;;:35;;-1:-1:-1;;4421:35:0;4452:4;4421:35;;;-1:-1:-1;;;;3935:529:0:o;1683:366::-;-1:-1:-1;;;;;1780:19:0;;1755:7;1780:19;;;:13;:19;;;;;:33;;;1779:34;;:83;;-1:-1:-1;;;;;;1832:19:0;;;;;;:13;:19;;;;;:30;;;1817:12;:45;1779:83;1775:124;;;-1:-1:-1;1886:1:0;;1683:366;-1:-1:-1;1683:366:0:o;1775:124::-;-1:-1:-1;;;;;1957:23:0;;1911:24;1957:23;;;:17;:23;;;;;;1938:16;;:42;;1957:23;1938:42;:::i;:::-;1911:69;;2017:1;1998:16;:20;:43;;2040:1;1998:43;;;2021:16;1998:43;1991:50;1683:366;-1:-1:-1;;;1683:366:0:o;1173:370::-;921:5;;-1:-1:-1;;;;;921:5:0;907:10;:19;899:54;;;;-1:-1:-1;;;899:54:0;;3984:2:1;899:54:0;;;3966:21:1;4023:2;4003:18;;;3996:30;4062:24;4042:18;;;4035:52;4104:18;;899:54:0;3782:346:1;899:54:0;1284:12:::1;:21:::0;;;1321:9:::1;1316:220;1340:5;:12;1336:1;:16;1316:220;;;1400:124;::::0;;;;::::1;::::0;;;1448:4:::1;1400:124:::0;;::::1;::::0;::::1;1483:25;1498:10:::0;1483:12:::1;:25;:::i;:::-;1400:124;;::::0;1374:13:::1;:23;1388:5;1394:1;1388:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;1374:23:0::1;::::0;;;;::::1;::::0;;;;;;-1:-1:-1;1374:23:0;:150;;;;-1:-1:-1;;1374:150:0::1;::::0;::::1;;;::::0;;;::::1;::::0;-1:-1:-1;1374:150:0;;::::1;::::0;1354:3;::::1;::::0;::::1;:::i;:::-;;;;1316:220;;;;1173:370:::0;;;:::o;1551:124::-;921:5;;-1:-1:-1;;;;;921:5:0;907:10;:19;899:54;;;;-1:-1:-1;;;899:54:0;;3984:2:1;899:54:0;;;3966:21:1;4023:2;4003:18;;;3996:30;4062:24;4042:18;;;4035:52;4104:18;;899:54:0;3782:346:1;899:54:0;-1:-1:-1;;;;;1626:19:0::1;1662:5;1626:19:::0;;;:13:::1;:19;::::0;;;;:41;;-1:-1:-1;;1626:41:0::1;::::0;;1551:124::o;2799:1128::-;1041:10;1027:25;;;;:13;:25;;;;;:39;;;1019:67;;;;-1:-1:-1;;;1019:67:0;;6637:2:1;1019:67:0;;;6619:21:1;6676:2;6656:18;;;6649:30;6715:17;6695:18;;;6688:45;6750:18;;1019:67:0;6435:339:1;1019:67:0;2900:10:::1;2886:25;::::0;;;:13:::1;:25;::::0;;;;:36:::1;;::::0;2870:12:::1;:52;;2862:99;;;::::0;-1:-1:-1;;;2862:99:0;;6981:2:1;2862:99:0::1;::::0;::::1;6963:21:1::0;7020:2;7000:18;;;6993:30;7059:34;7039:18;;;7032:62;-1:-1:-1;;;7110:18:1;;;7103:32;7152:19;;2862:99:0::1;6779:398:1::0;2862:99:0::1;2974:24;3011:14;;3001:7;;:24;;;;:::i;:::-;2974:51;;3063:1;3044:16;:20;3036:51;;;::::0;-1:-1:-1;;;3036:51:0;;7384:2:1;3036:51:0::1;::::0;::::1;7366:21:1::0;7423:2;7403:18;;;7396:30;7462:20;7442:18;;;7435:48;7500:18;;3036:51:0::1;7182:342:1::0;3036:51:0::1;3155:10;3100:34;3137:29:::0;;;:17:::1;:29;::::0;;;;;:41:::1;::::0;3169:9:::1;::::0;3137:41:::1;:::i;:::-;3100:78;;3189:28;3249:16;;3220:26;:45;:110;;3321:9;3220:110;;;3306:10;3288:29;::::0;;;:17:::1;:29;::::0;;;;;3269:16:::1;::::0;:48:::1;::::0;3288:29;3269:48:::1;:::i;:::-;3365:10;3347:29;::::0;;;:17:::1;:29;::::0;;;;;3189:141;;-1:-1:-1;3347:34:0;3343:86:::1;;3398:17;:19:::0;;;:17:::1;:19;::::0;::::1;:::i;:::-;;;;;;3343:86;3472:1;3449:20;:24;3441:71;;;::::0;-1:-1:-1;;;3441:71:0;;7731:2:1;3441:71:0::1;::::0;::::1;7713:21:1::0;7770:2;7750:18;;;7743:30;7809:34;7789:18;;;7782:62;-1:-1:-1;;;7860:18:1;;;7853:32;7902:19;;3441:71:0::1;7529:398:1::0;3441:71:0::1;3548:20;3529:16;:39;3525:111;;;-1:-1:-1::0;3608:16:0;3525:111:::1;3666:10;3648:29;::::0;;;:17:::1;:29;::::0;;;;:53;;3681:20;;3648:29;:53:::1;::::0;3681:20;;3648:53:::1;:::i;:::-;;;;;;;;3730:20;3712:14;;:38;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;3763:20:0::1;::::0;-1:-1:-1;3786:32:0::1;3798:20:::0;3786:9:::1;:32;:::i;:::-;3763:55:::0;-1:-1:-1;3833:16:0;;3829:91:::1;;3866:42;::::0;3874:10:::1;::::0;3866:42;::::1;;;::::0;3895:12;;3866:42:::1;::::0;;;3895:12;3874:10;3866:42;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;2851:1076;;;;2799:1128::o:0;2672:119::-;2732:7;2769:14;;2759:7;;:24;;;;:::i;:::-;2752:31;;2672:119;:::o;14:196:1:-;82:20;;-1:-1:-1;;;;;131:54:1;;121:65;;111:93;;200:1;197;190:12;111:93;14:196;;;:::o;215:186::-;274:6;327:2;315:9;306:7;302:23;298:32;295:52;;;343:1;340;333:12;295:52;366:29;385:9;366:29;:::i;1011:184::-;-1:-1:-1;;;1060:1:1;1053:88;1160:4;1157:1;1150:15;1184:4;1181:1;1174:15;1200:1259;1302:6;1310;1318;1371:2;1359:9;1350:7;1346:23;1342:32;1339:52;;;1387:1;1384;1377:12;1339:52;1427:9;1414:23;1456:18;1497:2;1489:6;1486:14;1483:34;;;1513:1;1510;1503:12;1483:34;1551:6;1540:9;1536:22;1526:32;;1596:7;1589:4;1585:2;1581:13;1577:27;1567:55;;1618:1;1615;1608:12;1567:55;1654:2;1641:16;1676:4;1699:2;1695;1692:10;1689:36;;;1705:18;;:::i;:::-;1751:2;1748:1;1744:10;1783:2;1777:9;1846:2;1842:7;1837:2;1833;1829:11;1825:25;1817:6;1813:38;1901:6;1889:10;1886:22;1881:2;1869:10;1866:18;1863:46;1860:72;;;1912:18;;:::i;:::-;1948:2;1941:22;1998:18;;;2032:15;;;;-1:-1:-1;2074:11:1;;;2070:20;;;2102:19;;;2099:39;;;2134:1;2131;2124:12;2099:39;2158:11;;;;2178:148;2194:6;2189:3;2186:15;2178:148;;;2260:23;2279:3;2260:23;:::i;:::-;2248:36;;2211:12;;;;2304;;;;2178:148;;;2345:6;2383:18;;;2370:32;;-1:-1:-1;;2449:2:1;2434:18;;;2421:32;;1200:1259;-1:-1:-1;;;;;;1200:1259:1:o;2464:184::-;-1:-1:-1;;;2513:1:1;2506:88;2613:4;2610:1;2603:15;2637:4;2634:1;2627:15;2653:168;2726:9;;;2757;;2774:15;;;2768:22;;2754:37;2744:71;;2795:18;;:::i;2826:274::-;2866:1;2892;2882:189;;-1:-1:-1;;;2924:1:1;2917:88;3028:4;3025:1;3018:15;3056:4;3053:1;3046:15;2882:189;-1:-1:-1;3085:9:1;;2826:274::o;5843:128::-;5910:9;;;5931:11;;;5928:37;;;5945:18;;:::i;5976:125::-;6041:9;;;6062:10;;;6059:36;;;6075:18;;:::i;6106:184::-;-1:-1:-1;;;6155:1:1;6148:88;6255:4;6252:1;6245:15;6279:4;6276:1;6269:15;6295:135;6334:3;6355:17;;;6352:43;;6375:18;;:::i;:::-;-1:-1:-1;6422:1:1;6411:13;;6295:135::o
Swarm Source
ipfs://ebd15f3e496825e54cb03d851e7b843595b90e9b475d99740ef2abcc0c6fc8cb
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.