Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 563 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Fees | 20581620 | 39 days ago | IN | 0 ETH | 0.00006147 | ||||
Process Pending ... | 20169842 | 96 days ago | IN | 0 ETH | 0.00075931 | ||||
Process Pending ... | 19935980 | 129 days ago | IN | 0 ETH | 0.00042146 | ||||
Process Pending ... | 19644239 | 170 days ago | IN | 0 ETH | 0.00067075 | ||||
Process Pending ... | 19568044 | 180 days ago | IN | 0 ETH | 0.00164885 | ||||
Process Pending ... | 19512836 | 188 days ago | IN | 0 ETH | 0.00210691 | ||||
Process Pending ... | 19507084 | 189 days ago | IN | 0 ETH | 0.00117852 | ||||
Process Pending ... | 19485269 | 192 days ago | IN | 0 ETH | 0.00189676 | ||||
Process Pending ... | 19484083 | 192 days ago | IN | 0 ETH | 0.00185061 | ||||
Process Pending ... | 19481684 | 192 days ago | IN | 0 ETH | 0.00148105 | ||||
Process Pending ... | 19475777 | 193 days ago | IN | 0 ETH | 0.00169368 | ||||
Process Pending ... | 19473989 | 194 days ago | IN | 0 ETH | 0.00170962 | ||||
Process Pending ... | 19473987 | 194 days ago | IN | 0 ETH | 0.00625825 | ||||
Process Pending ... | 19469482 | 194 days ago | IN | 0 ETH | 0.00232058 | ||||
Process Pending ... | 19468932 | 194 days ago | IN | 0 ETH | 0.00300513 | ||||
Process Pending ... | 19468930 | 194 days ago | IN | 0 ETH | 0.00985623 | ||||
Process Pending ... | 19439337 | 198 days ago | IN | 0 ETH | 0.00893865 | ||||
Process Pending ... | 19439335 | 198 days ago | IN | 0 ETH | 0.01126046 | ||||
Process Pending ... | 19421734 | 201 days ago | IN | 0 ETH | 0.00337505 | ||||
Process Pending ... | 19421562 | 201 days ago | IN | 0 ETH | 0.00350217 | ||||
Process Pending ... | 19421434 | 201 days ago | IN | 0 ETH | 0.00338545 | ||||
Process Pending ... | 19418956 | 201 days ago | IN | 0 ETH | 0.00300299 | ||||
Process Pending ... | 19418402 | 201 days ago | IN | 0 ETH | 0.00255435 | ||||
Process Pending ... | 19417455 | 202 days ago | IN | 0 ETH | 0.00297658 | ||||
Process Pending ... | 19410857 | 202 days ago | IN | 0 ETH | 0.00334344 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
20581620 | 39 days ago | 0.14392929 ETH | ||||
20507811 | 49 days ago | 0.0001763 ETH | ||||
20249912 | 85 days ago | 0.00207138 ETH | ||||
20197116 | 92 days ago | 0.00012544 ETH | ||||
20169842 | 96 days ago | 0.0025 ETH | ||||
20169842 | 96 days ago | 0.00016731 ETH | ||||
20169840 | 96 days ago | 0.00266731 ETH | ||||
20130707 | 102 days ago | 0.00027549 ETH | ||||
20059841 | 112 days ago | 0.00028886 ETH | ||||
20057402 | 112 days ago | 0.00038074 ETH | ||||
20048017 | 113 days ago | 0.0001505 ETH | ||||
19996550 | 120 days ago | 0.00158746 ETH | ||||
19993717 | 121 days ago | 0.00020226 ETH | ||||
19935980 | 129 days ago | 0.0025 ETH | ||||
19935980 | 129 days ago | 0.00056365 ETH | ||||
19934212 | 129 days ago | 0.00306365 ETH | ||||
19903251 | 133 days ago | 0.00011935 ETH | ||||
19885284 | 136 days ago | 0.00006571 ETH | ||||
19854333 | 140 days ago | 0.00006406 ETH | ||||
19830238 | 144 days ago | 0.00019571 ETH | ||||
19822612 | 145 days ago | 0.00033672 ETH | ||||
19801932 | 148 days ago | 0.00008776 ETH | ||||
19792326 | 149 days ago | 0.00036527 ETH | ||||
19792316 | 149 days ago | 0.00143146 ETH | ||||
19784492 | 150 days ago | 0.00170909 ETH |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xC471aFa6...31ca7779A The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
AI1Jackpots
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: NONE /** * ai1Labs Jackpot Manager * * Holds a list of winners to be distributed * * Website: ai1.wtf * * Docs: docs.ai1.wtf * * X: x.com/ai1Labs * * Telegram: t.me/ai1Labs */ pragma solidity ^0.8.20; //import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract AI1Jackpots is Ownable { event WinPending(address indexed seller, uint256 ethWinnings, uint256 randomNumber); event JackpotWin(address indexed winner, uint256 winnings, uint256 randomSeedUsed); event ClaimManually(address indexed winner, uint256 winnings); struct WinToProcess { uint256 randomNumber; uint256 ethWinnings; address seller; } struct ManuallyClaimableWin { uint256 ethWinnings; address winner; } error NotProcessingBot(); error NotHeadContract(); error ReentrancyDetected(); modifier onlyProcessingBot() { if(_msgSender() != processingBot) { revert NotProcessingBot(); } _; } modifier onlyHeadContract() { if(_msgSender() != topContract) { revert NotHeadContract(); } _; } modifier reentrancyGuard() { if(_reentrancySemaphore) { revert ReentrancyDetected(); } _reentrancySemaphore = true; _; _reentrancySemaphore = false; } address private processingBot; bool private _reentrancySemaphore = false; WinToProcess[] private pendingWins; ManuallyClaimableWin[] private failedSends; address private topContract; constructor(address bot) Ownable(_msgSender()) { topContract = msg.sender; processingBot = bot; } /// @notice Changes the processing bot address. Only settable by CA owner. /// @param newBot the new bot to set function changeProcessingBot(address newBot) public onlyOwner { processingBot = newBot; } function changeTopContract(address newContract) public onlyOwner { topContract = newContract; } /// @notice Generates a random number - don't rely on for crypto function generateNumber() private view returns (uint256 result) { result = uint256(keccak256(abi.encode(block.prevrandao))); } /// @notice Adds a pending win from a sell - only callable by contract and the value of ETH should be sent /// @param seller the seller, so we can exclude them function addPendingWin(address seller) external payable onlyHeadContract { uint256 rng = generateNumber(); pendingWins.push(WinToProcess(rng, msg.value, seller)); emit WinPending(seller, msg.value, rng); } /// @notice Get the lists of pending wins function getPendingWins() public view returns (uint256[] memory rngs, uint256[] memory winnings, address[] memory sellers) { rngs = new uint256[](pendingWins.length); winnings = new uint256[](pendingWins.length); sellers = new address[](pendingWins.length); for(uint i = 0; i < pendingWins.length; i++) { rngs[i] = pendingWins[i].randomNumber; winnings[i] = pendingWins[i].ethWinnings; sellers[i] = pendingWins[i].seller; } } function processPendingWin(uint256 index, address receipient, uint256 processingCost) public onlyProcessingBot reentrancyGuard { processWinInternal(index, receipient, processingCost); // Check if it's the very end of the list if(index != pendingWins.length-1) { // It's not, so move the end to the index we wish to erase pendingWins[index] = pendingWins[pendingWins.length-1]; } // Pop the end - if our pending win is the end, it's okay, if not we made a copy of the end pendingWins.pop(); } function processWinInternal(uint256 index, address winner, uint256 processingCost) private { uint256 winAmount = pendingWins[index].ethWinnings; (bool success,) = winner.call{gas: 50000, value: winAmount-processingCost}(""); payable(msg.sender).transfer(processingCost); if(success) { emit JackpotWin(winner, winAmount-processingCost, pendingWins[index].randomNumber); } else { failedSends.push(ManuallyClaimableWin(winAmount-processingCost, winner)); emit ClaimManually(winner, winAmount-processingCost); } } /// @notice Process a list of indexes and winners. Ensure the indexes are ascending. function processPendingWins(uint256[] calldata indexes, address[] calldata recipients, uint256[] calldata processingCosts) external onlyProcessingBot reentrancyGuard { require(indexes.length == recipients.length && indexes.length == processingCosts.length, "LuckyJackpot: Length of arrays must match."); for(uint i = 0; i < indexes.length; i++) { processWinInternal(indexes[i], recipients[i], processingCosts[i]); } // Need to be a little more careful here, as we have multiple indexes to remove uint indexLen = indexes.length-1; for(uint i = 0; i < indexes.length; i++) { // i is, from the end, how many if(indexes[indexLen-i] != pendingWins.length) { // Copy the end to the current index, if necessary pendingWins[indexes[indexLen-i]] = pendingWins[pendingWins.length-1]; } // Delete the end pendingWins.pop(); } } /// @notice Claim the first win for this address function manualClaim(address winner) public reentrancyGuard { // Find the first win in failedSends for(uint i = 0; i < failedSends.length; i++) { if(failedSends[i].winner == winner) { (bool success,) = winner.call{value: failedSends[i].ethWinnings}(""); require(success, "LuckyJackpot: Send failed."); // Delete the winner if(i != failedSends.length-1) { failedSends[i] = failedSends[failedSends.length-1]; } failedSends.pop(); break; } } } function withdrawGas(uint256 amount) public onlyProcessingBot { // Withdraw the gas fee to be spent on running a sell payable(processingBot).transfer(amount); } function withdrawFees(uint256 amount) public onlyOwner { // Withdraw excess fees for owner payable(owner()).transfer(amount); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @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 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) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "optimizer": { "enabled": true, "runs": 200 }, "evmVersion": "paris", "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"bot","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotHeadContract","type":"error"},{"inputs":[],"name":"NotProcessingBot","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"ReentrancyDetected","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"winnings","type":"uint256"}],"name":"ClaimManually","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"winnings","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomSeedUsed","type":"uint256"}],"name":"JackpotWin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"seller","type":"address"},{"indexed":false,"internalType":"uint256","name":"ethWinnings","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"randomNumber","type":"uint256"}],"name":"WinPending","type":"event"},{"inputs":[{"internalType":"address","name":"seller","type":"address"}],"name":"addPendingWin","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"newBot","type":"address"}],"name":"changeProcessingBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newContract","type":"address"}],"name":"changeTopContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getPendingWins","outputs":[{"internalType":"uint256[]","name":"rngs","type":"uint256[]"},{"internalType":"uint256[]","name":"winnings","type":"uint256[]"},{"internalType":"address[]","name":"sellers","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"winner","type":"address"}],"name":"manualClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"},{"internalType":"address","name":"receipient","type":"address"},{"internalType":"uint256","name":"processingCost","type":"uint256"}],"name":"processPendingWin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"indexes","type":"uint256[]"},{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"processingCosts","type":"uint256[]"}],"name":"processPendingWins","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawGas","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Deployed Bytecode
0x6080604052600436106100a75760003560e01c8063916575441161006457806391657544146101785780639bba032a14610198578063d653e9a8146101b8578063de9067ad146101cb578063e026132e146101eb578063f2fde38b1461020b57600080fd5b806331600a63146100ac57806359c0ccc7146100d95780635e318e07146100fb578063715018a61461011b5780638da5cb5b1461013057806391537e2714610158575b600080fd5b3480156100b857600080fd5b506100c161022b565b6040516100d093929190610fd2565b60405180910390f35b3480156100e557600080fd5b506100f96100f4366004611060565b610417565b005b34801561010757600080fd5b506100f9610116366004611082565b61065d565b34801561012757600080fd5b506100f96106a2565b34801561013c57600080fd5b506000546040516001600160a01b0390911681526020016100d0565b34801561016457600080fd5b506100f96101733660046110e7565b6106b6565b34801561018457600080fd5b506100f9610193366004611082565b61096e565b3480156101a457600080fd5b506100f96101b3366004611060565b6109dc565b6100f96101c6366004611060565b610a06565b3480156101d757600080fd5b506100f96101e6366004611181565b610b67565b3480156101f757600080fd5b506100f9610206366004611060565b610cd4565b34801561021757600080fd5b506100f9610226366004611060565b610cfe565b606080606060028054905067ffffffffffffffff81111561024e5761024e6111b6565b604051908082528060200260200182016040528015610277578160200160208202803683370190505b5060025490935067ffffffffffffffff811115610296576102966111b6565b6040519080825280602002602001820160405280156102bf578160200160208202803683370190505b5060025490925067ffffffffffffffff8111156102de576102de6111b6565b604051908082528060200260200182016040528015610307578160200160208202803683370190505b50905060005b600254811015610411576002818154811061032a5761032a6111cc565b90600052602060002090600302016000015484828151811061034e5761034e6111cc565b6020026020010181815250506002818154811061036d5761036d6111cc565b906000526020600020906003020160010154838281518110610391576103916111cc565b602002602001018181525050600281815481106103b0576103b06111cc565b906000526020600020906003020160020160009054906101000a90046001600160a01b03168282815181106103e7576103e76111cc565b6001600160a01b039092166020928302919091019091015280610409816111f8565b91505061030d565b50909192565b600154600160a01b900460ff16156104425760405163c5f2be5160e01b815260040160405180910390fd5b6001805460ff60a01b1916600160a01b17905560005b60035481101561064c57816001600160a01b03166003828154811061047f5761047f6111cc565b60009182526020909120600160029092020101546001600160a01b03160361063a576000826001600160a01b0316600383815481106104c0576104c06111cc565b60009182526020822060029091020154604051909181818185875af1925050503d806000811461050c576040519150601f19603f3d011682016040523d82523d6000602084013e610511565b606091505b50509050806105675760405162461bcd60e51b815260206004820152601a60248201527f4c75636b794a61636b706f743a2053656e64206661696c65642e00000000000060448201526064015b60405180910390fd5b60035461057690600190611211565b82146105f8576003805461058c90600190611211565b8154811061059c5761059c6111cc565b9060005260206000209060020201600383815481106105bd576105bd6111cc565b600091825260209091208254600290920201908155600191820154910180546001600160a01b0319166001600160a01b039092169190911790555b60038054806106095761060961122a565b60008281526020812060026000199093019283020190815560010180546001600160a01b031916905590555061064c565b80610644816111f8565b915050610458565b50506001805460ff60a01b19169055565b610665610d3c565b600080546040516001600160a01b039091169183156108fc02918491818181858888f1935050505015801561069e573d6000803e3d6000fd5b5050565b6106aa610d3c565b6106b46000610d69565b565b6001546001600160a01b0316336001600160a01b0316146106ea57604051634772a48160e11b815260040160405180910390fd5b600154600160a01b900460ff16156107155760405163c5f2be5160e01b815260040160405180910390fd5b6001805460ff60a01b1916600160a01b179055848314801561073657508481145b6107955760405162461bcd60e51b815260206004820152602a60248201527f4c75636b794a61636b706f743a204c656e677468206f6620617272617973206d6044820152693ab9ba1036b0ba31b41760b11b606482015260840161055e565b60005b85811015610813576108018787838181106107b5576107b56111cc565b905060200201358686848181106107ce576107ce6111cc565b90506020020160208101906107e39190611060565b8585858181106107f5576107f56111cc565b90506020020135610db9565b8061080b816111f8565b915050610798565b506000610821600187611211565b905060005b8681101561095757600254888861083d8486611211565b81811061084c5761084c6111cc565b9050602002013514610901576002805461086890600190611211565b81548110610878576108786111cc565b90600052602060002090600302016002898984866108969190611211565b8181106108a5576108a56111cc565b90506020020135815481106108bc576108bc6111cc565b60009182526020909120825460039092020190815560018083015490820155600291820154910180546001600160a01b0319166001600160a01b039092169190911790555b60028054806109125761091261122a565b600082815260208120600360001990930192830201818155600181019190915560020180546001600160a01b031916905590558061094f816111f8565b915050610826565b50506001805460ff60a01b19169055505050505050565b6001546001600160a01b0316336001600160a01b0316146109a257604051634772a48160e11b815260040160405180910390fd5b6001546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561069e573d6000803e3d6000fd5b6109e4610d3c565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b0316336001600160a01b031614610a3a5760405163365e96db60e21b815260040160405180910390fd5b6000610a646040805144602080830191909152825180830382018152918301909252805191012090565b604080516060810182528281523460208083018281526001600160a01b038881168587018181526002805460018101825560009190915296517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace60039098029788015592517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf87015591517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ad090950180546001600160a01b031916959091169490941790935583519182528101849052929350917f6d418321e3f92c6a489352adfa53b0f97aef60e56d92ce0c2dfdf79970a2dd40910160405180910390a25050565b6001546001600160a01b0316336001600160a01b031614610b9b57604051634772a48160e11b815260040160405180910390fd5b600154600160a01b900460ff1615610bc65760405163c5f2be5160e01b815260040160405180910390fd5b6001805460ff60a01b1916600160a01b179055610be4838383610db9565b600254610bf390600190611211565b8314610c7f5760028054610c0990600190611211565b81548110610c1957610c196111cc565b906000526020600020906003020160028481548110610c3a57610c3a6111cc565b60009182526020909120825460039092020190815560018083015490820155600291820154910180546001600160a01b0319166001600160a01b039092169190911790555b6002805480610c9057610c9061122a565b60008281526020812060036000199093019283020181815560018181019290925560020180546001600160a01b03191690559155805460ff60a01b19169055505050565b610cdc610d3c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b610d06610d3c565b6001600160a01b038116610d3057604051631e4fbdf760e01b81526000600482015260240161055e565b610d3981610d69565b50565b6000546001600160a01b031633146106b45760405163118cdaa760e01b815233600482015260240161055e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060028481548110610dce57610dce6111cc565b6000918252602082206001600390920201015491506001600160a01b03841661c350610dfa8585611211565b6040516000818181858888f193505050503d8060008114610e37576040519150601f19603f3d011682016040523d82523d6000602084013e610e3c565b606091505b5050604051909150339084156108fc029085906000818181858888f19350505050158015610e6e573d6000803e3d6000fd5b508015610ee8576001600160a01b0384167fb3c089216f23b7daf9ba89aed51ed7cd7a84a690165388c507a0da320840c29a610eaa8585611211565b60028881548110610ebd57610ebd6111cc565b60009182526020918290206003909102015460408051938452918301520160405180910390a2610f90565b600360405180604001604052808585610f019190611211565b81526001600160a01b038781166020928301819052845460018082018755600096875295849020855160029092020190815593909201519290930180546001600160a01b03191692909316919091179091557f94865cfe07b56d8fc7d748debc2277d076807d3678da121aa700f3bf2a66df32610f7e8585611211565b60405190815260200160405180910390a25b5050505050565b600081518084526020808501945080840160005b83811015610fc757815187529582019590820190600101610fab565b509495945050505050565b606081526000610fe56060830186610f97565b602083820381850152610ff88287610f97565b8481036040860152855180825282870193509082019060005b818110156110365784516001600160a01b031683529383019391830191600101611011565b509098975050505050505050565b80356001600160a01b038116811461105b57600080fd5b919050565b60006020828403121561107257600080fd5b61107b82611044565b9392505050565b60006020828403121561109457600080fd5b5035919050565b60008083601f8401126110ad57600080fd5b50813567ffffffffffffffff8111156110c557600080fd5b6020830191508360208260051b85010111156110e057600080fd5b9250929050565b6000806000806000806060878903121561110057600080fd5b863567ffffffffffffffff8082111561111857600080fd5b6111248a838b0161109b565b9098509650602089013591508082111561113d57600080fd5b6111498a838b0161109b565b9096509450604089013591508082111561116257600080fd5b5061116f89828a0161109b565b979a9699509497509295939492505050565b60008060006060848603121561119657600080fd5b833592506111a660208501611044565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006001820161120a5761120a6111e2565b5060010190565b81810381811115611224576112246111e2565b92915050565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220bf1aba8e5673710ff5769d01d9f46b1d875b036c29095ddd28d69fff1bf6c89d64736f6c63430008140033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.