Contract
0x62d8087267a88bb0aa7c24c096dac0c60ceb54a3
6
Contract Overview
Balance:
1,734.5 MATIC
Token:
My Name Tag:
Not Available
[ Download CSV Export ]
Latest 25 internal transaction
[ Download CSV Export ]
Contract Name:
TopperUpper
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at PolygonScan.com on 2022-07-14 */ // File: @openzeppelin/contracts/utils/Context.sol // OpenZeppelin Contracts v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @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; } } // File: @openzeppelin/contracts/access/Ownable.sol // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @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. * * By default, the owner account will be the one that deploys the contract. 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; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @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 { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing 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 { require(newOwner != address(0), "Ownable: new owner is the zero address"); _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); } } // File: @openzeppelin/contracts/token/ERC20/IERC20.sol // OpenZeppelin Contracts (last updated v4.6.0) (token/ERC20/IERC20.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `to`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address to, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `from` to `to` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address from, address to, uint256 amount ) external returns (bool); } // File: undefined/FundsRecovery.sol pragma solidity 0.8.9; contract FundsRecovery is Ownable { address payable internal fundsDestination; IERC20 public token; event DestinationChanged( address indexed previousDestination, address indexed newDestination ); /** * Setting new destination of funds recovery. */ function setFundsDestination(address payable _newDestination) public virtual onlyOwner { require(_newDestination != address(0), "address is 0x0"); emit DestinationChanged(fundsDestination, _newDestination); fundsDestination = _newDestination; } /** * Getting funds destination address. */ function getFundsDestination() public view onlyOwner returns (address) { return fundsDestination; } /** * Possibility to recover funds in case they were sent to this address before smart contract deployment */ function claimNative() public { require(fundsDestination != address(0), "address is 0x0"); fundsDestination.transfer(address(this).balance); } /** Transfers selected tokens into owner address. */ function claimTokens(address _token) public { require(fundsDestination != address(0), "address is 0x0"); require( _token != address(token), "native token funds can't be recovered" ); uint256 _amount = IERC20(_token).balanceOf(address(this)); IERC20(_token).transfer(fundsDestination, _amount); } } // File: hardhat/console.sol pragma solidity >= 0.4.22 <0.9.0; library console { address constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67); function _sendLogPayload(bytes memory payload) private view { uint256 payloadLength = payload.length; address consoleAddress = CONSOLE_ADDRESS; assembly { let payloadStart := add(payload, 32) let r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0) } } function log() internal view { _sendLogPayload(abi.encodeWithSignature("log()")); } function logInt(int p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(int)", p0)); } function logUint(uint p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint)", p0)); } function logString(string memory p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(string)", p0)); } function logBool(bool p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool)", p0)); } function logAddress(address p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(address)", p0)); } function logBytes(bytes memory p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes)", p0)); } function logBytes1(bytes1 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes1)", p0)); } function logBytes2(bytes2 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes2)", p0)); } function logBytes3(bytes3 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes3)", p0)); } function logBytes4(bytes4 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes4)", p0)); } function logBytes5(bytes5 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes5)", p0)); } function logBytes6(bytes6 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes6)", p0)); } function logBytes7(bytes7 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes7)", p0)); } function logBytes8(bytes8 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes8)", p0)); } function logBytes9(bytes9 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes9)", p0)); } function logBytes10(bytes10 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes10)", p0)); } function logBytes11(bytes11 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes11)", p0)); } function logBytes12(bytes12 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes12)", p0)); } function logBytes13(bytes13 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes13)", p0)); } function logBytes14(bytes14 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes14)", p0)); } function logBytes15(bytes15 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes15)", p0)); } function logBytes16(bytes16 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes16)", p0)); } function logBytes17(bytes17 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes17)", p0)); } function logBytes18(bytes18 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes18)", p0)); } function logBytes19(bytes19 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes19)", p0)); } function logBytes20(bytes20 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes20)", p0)); } function logBytes21(bytes21 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes21)", p0)); } function logBytes22(bytes22 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes22)", p0)); } function logBytes23(bytes23 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes23)", p0)); } function logBytes24(bytes24 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes24)", p0)); } function logBytes25(bytes25 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes25)", p0)); } function logBytes26(bytes26 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes26)", p0)); } function logBytes27(bytes27 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes27)", p0)); } function logBytes28(bytes28 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes28)", p0)); } function logBytes29(bytes29 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes29)", p0)); } function logBytes30(bytes30 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes30)", p0)); } function logBytes31(bytes31 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes31)", p0)); } function logBytes32(bytes32 p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bytes32)", p0)); } function log(uint p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint)", p0)); } function log(string memory p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(string)", p0)); } function log(bool p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool)", p0)); } function log(address p0) internal view { _sendLogPayload(abi.encodeWithSignature("log(address)", p0)); } function log(uint p0, uint p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint)", p0, p1)); } function log(uint p0, string memory p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string)", p0, p1)); } function log(uint p0, bool p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool)", p0, p1)); } function log(uint p0, address p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address)", p0, p1)); } function log(string memory p0, uint p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint)", p0, p1)); } function log(string memory p0, string memory p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string)", p0, p1)); } function log(string memory p0, bool p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool)", p0, p1)); } function log(string memory p0, address p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address)", p0, p1)); } function log(bool p0, uint p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint)", p0, p1)); } function log(bool p0, string memory p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string)", p0, p1)); } function log(bool p0, bool p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool)", p0, p1)); } function log(bool p0, address p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address)", p0, p1)); } function log(address p0, uint p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint)", p0, p1)); } function log(address p0, string memory p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string)", p0, p1)); } function log(address p0, bool p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool)", p0, p1)); } function log(address p0, address p1) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address)", p0, p1)); } function log(uint p0, uint p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint)", p0, p1, p2)); } function log(uint p0, uint p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string)", p0, p1, p2)); } function log(uint p0, uint p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool)", p0, p1, p2)); } function log(uint p0, uint p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address)", p0, p1, p2)); } function log(uint p0, string memory p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint)", p0, p1, p2)); } function log(uint p0, string memory p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,string)", p0, p1, p2)); } function log(uint p0, string memory p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool)", p0, p1, p2)); } function log(uint p0, string memory p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,address)", p0, p1, p2)); } function log(uint p0, bool p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint)", p0, p1, p2)); } function log(uint p0, bool p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string)", p0, p1, p2)); } function log(uint p0, bool p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool)", p0, p1, p2)); } function log(uint p0, bool p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address)", p0, p1, p2)); } function log(uint p0, address p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint)", p0, p1, p2)); } function log(uint p0, address p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,string)", p0, p1, p2)); } function log(uint p0, address p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool)", p0, p1, p2)); } function log(uint p0, address p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,address)", p0, p1, p2)); } function log(string memory p0, uint p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint)", p0, p1, p2)); } function log(string memory p0, uint p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,string)", p0, p1, p2)); } function log(string memory p0, uint p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool)", p0, p1, p2)); } function log(string memory p0, uint p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,address)", p0, p1, p2)); } function log(string memory p0, string memory p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint)", p0, p1, p2)); } function log(string memory p0, string memory p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string)", p0, p1, p2)); } function log(string memory p0, string memory p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool)", p0, p1, p2)); } function log(string memory p0, string memory p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address)", p0, p1, p2)); } function log(string memory p0, bool p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint)", p0, p1, p2)); } function log(string memory p0, bool p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string)", p0, p1, p2)); } function log(string memory p0, bool p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool)", p0, p1, p2)); } function log(string memory p0, bool p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address)", p0, p1, p2)); } function log(string memory p0, address p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint)", p0, p1, p2)); } function log(string memory p0, address p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string)", p0, p1, p2)); } function log(string memory p0, address p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool)", p0, p1, p2)); } function log(string memory p0, address p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address)", p0, p1, p2)); } function log(bool p0, uint p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint)", p0, p1, p2)); } function log(bool p0, uint p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string)", p0, p1, p2)); } function log(bool p0, uint p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool)", p0, p1, p2)); } function log(bool p0, uint p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address)", p0, p1, p2)); } function log(bool p0, string memory p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint)", p0, p1, p2)); } function log(bool p0, string memory p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string)", p0, p1, p2)); } function log(bool p0, string memory p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool)", p0, p1, p2)); } function log(bool p0, string memory p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address)", p0, p1, p2)); } function log(bool p0, bool p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint)", p0, p1, p2)); } function log(bool p0, bool p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string)", p0, p1, p2)); } function log(bool p0, bool p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool)", p0, p1, p2)); } function log(bool p0, bool p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address)", p0, p1, p2)); } function log(bool p0, address p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint)", p0, p1, p2)); } function log(bool p0, address p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string)", p0, p1, p2)); } function log(bool p0, address p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool)", p0, p1, p2)); } function log(bool p0, address p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address)", p0, p1, p2)); } function log(address p0, uint p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint)", p0, p1, p2)); } function log(address p0, uint p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,string)", p0, p1, p2)); } function log(address p0, uint p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool)", p0, p1, p2)); } function log(address p0, uint p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,address)", p0, p1, p2)); } function log(address p0, string memory p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint)", p0, p1, p2)); } function log(address p0, string memory p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string)", p0, p1, p2)); } function log(address p0, string memory p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool)", p0, p1, p2)); } function log(address p0, string memory p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address)", p0, p1, p2)); } function log(address p0, bool p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint)", p0, p1, p2)); } function log(address p0, bool p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string)", p0, p1, p2)); } function log(address p0, bool p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool)", p0, p1, p2)); } function log(address p0, bool p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address)", p0, p1, p2)); } function log(address p0, address p1, uint p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint)", p0, p1, p2)); } function log(address p0, address p1, string memory p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string)", p0, p1, p2)); } function log(address p0, address p1, bool p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool)", p0, p1, p2)); } function log(address p0, address p1, address p2) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address)", p0, p1, p2)); } function log(uint p0, uint p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,uint)", p0, p1, p2, p3)); } function log(uint p0, uint p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,string)", p0, p1, p2, p3)); } function log(uint p0, uint p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,bool)", p0, p1, p2, p3)); } function log(uint p0, uint p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,uint,address)", p0, p1, p2, p3)); } function log(uint p0, uint p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,uint)", p0, p1, p2, p3)); } function log(uint p0, uint p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,string)", p0, p1, p2, p3)); } function log(uint p0, uint p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,bool)", p0, p1, p2, p3)); } function log(uint p0, uint p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,string,address)", p0, p1, p2, p3)); } function log(uint p0, uint p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,uint)", p0, p1, p2, p3)); } function log(uint p0, uint p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,string)", p0, p1, p2, p3)); } function log(uint p0, uint p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,bool)", p0, p1, p2, p3)); } function log(uint p0, uint p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,bool,address)", p0, p1, p2, p3)); } function log(uint p0, uint p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,uint)", p0, p1, p2, p3)); } function log(uint p0, uint p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,string)", p0, p1, p2, p3)); } function log(uint p0, uint p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,bool)", p0, p1, p2, p3)); } function log(uint p0, uint p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,uint,address,address)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,uint)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,string)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,bool)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,uint,address)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,string,uint)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,string,string)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,string,bool)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,string,address)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,uint)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,string)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,bool)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,bool,address)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,address,uint)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,address,string)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,address,bool)", p0, p1, p2, p3)); } function log(uint p0, string memory p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,string,address,address)", p0, p1, p2, p3)); } function log(uint p0, bool p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,uint)", p0, p1, p2, p3)); } function log(uint p0, bool p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,string)", p0, p1, p2, p3)); } function log(uint p0, bool p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,bool)", p0, p1, p2, p3)); } function log(uint p0, bool p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,uint,address)", p0, p1, p2, p3)); } function log(uint p0, bool p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,uint)", p0, p1, p2, p3)); } function log(uint p0, bool p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,string)", p0, p1, p2, p3)); } function log(uint p0, bool p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,bool)", p0, p1, p2, p3)); } function log(uint p0, bool p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,string,address)", p0, p1, p2, p3)); } function log(uint p0, bool p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,uint)", p0, p1, p2, p3)); } function log(uint p0, bool p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,string)", p0, p1, p2, p3)); } function log(uint p0, bool p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,bool)", p0, p1, p2, p3)); } function log(uint p0, bool p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,bool,address)", p0, p1, p2, p3)); } function log(uint p0, bool p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,uint)", p0, p1, p2, p3)); } function log(uint p0, bool p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,string)", p0, p1, p2, p3)); } function log(uint p0, bool p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,bool)", p0, p1, p2, p3)); } function log(uint p0, bool p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,bool,address,address)", p0, p1, p2, p3)); } function log(uint p0, address p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,uint)", p0, p1, p2, p3)); } function log(uint p0, address p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,string)", p0, p1, p2, p3)); } function log(uint p0, address p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,bool)", p0, p1, p2, p3)); } function log(uint p0, address p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,uint,address)", p0, p1, p2, p3)); } function log(uint p0, address p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,string,uint)", p0, p1, p2, p3)); } function log(uint p0, address p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,string,string)", p0, p1, p2, p3)); } function log(uint p0, address p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,string,bool)", p0, p1, p2, p3)); } function log(uint p0, address p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,string,address)", p0, p1, p2, p3)); } function log(uint p0, address p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,uint)", p0, p1, p2, p3)); } function log(uint p0, address p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,string)", p0, p1, p2, p3)); } function log(uint p0, address p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,bool)", p0, p1, p2, p3)); } function log(uint p0, address p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,bool,address)", p0, p1, p2, p3)); } function log(uint p0, address p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,address,uint)", p0, p1, p2, p3)); } function log(uint p0, address p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,address,string)", p0, p1, p2, p3)); } function log(uint p0, address p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,address,bool)", p0, p1, p2, p3)); } function log(uint p0, address p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(uint,address,address,address)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,uint)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,string)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,bool)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,uint,address)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,string,uint)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,string,string)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,string,bool)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,string,address)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,uint)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,string)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,bool)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,bool,address)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,address,uint)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,address,string)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,address,bool)", p0, p1, p2, p3)); } function log(string memory p0, uint p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,uint,address,address)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint,uint)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint,string)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint,bool)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,uint,address)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string,uint)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string,string)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string,bool)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,string,address)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,uint)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,string)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,bool)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,bool,address)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address,uint)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address,string)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address,bool)", p0, p1, p2, p3)); } function log(string memory p0, string memory p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,string,address,address)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,uint)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,string)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,bool)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,uint,address)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,uint)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,string)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,bool)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,string,address)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,uint)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,string)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,bool)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,bool,address)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,uint)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,string)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,bool)", p0, p1, p2, p3)); } function log(string memory p0, bool p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,bool,address,address)", p0, p1, p2, p3)); } function log(string memory p0, address p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint,uint)", p0, p1, p2, p3)); } function log(string memory p0, address p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint,string)", p0, p1, p2, p3)); } function log(string memory p0, address p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint,bool)", p0, p1, p2, p3)); } function log(string memory p0, address p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,uint,address)", p0, p1, p2, p3)); } function log(string memory p0, address p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string,uint)", p0, p1, p2, p3)); } function log(string memory p0, address p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string,string)", p0, p1, p2, p3)); } function log(string memory p0, address p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string,bool)", p0, p1, p2, p3)); } function log(string memory p0, address p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,string,address)", p0, p1, p2, p3)); } function log(string memory p0, address p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,uint)", p0, p1, p2, p3)); } function log(string memory p0, address p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,string)", p0, p1, p2, p3)); } function log(string memory p0, address p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,bool)", p0, p1, p2, p3)); } function log(string memory p0, address p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,bool,address)", p0, p1, p2, p3)); } function log(string memory p0, address p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address,uint)", p0, p1, p2, p3)); } function log(string memory p0, address p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address,string)", p0, p1, p2, p3)); } function log(string memory p0, address p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address,bool)", p0, p1, p2, p3)); } function log(string memory p0, address p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(string,address,address,address)", p0, p1, p2, p3)); } function log(bool p0, uint p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,uint)", p0, p1, p2, p3)); } function log(bool p0, uint p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,string)", p0, p1, p2, p3)); } function log(bool p0, uint p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,bool)", p0, p1, p2, p3)); } function log(bool p0, uint p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,uint,address)", p0, p1, p2, p3)); } function log(bool p0, uint p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,uint)", p0, p1, p2, p3)); } function log(bool p0, uint p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,string)", p0, p1, p2, p3)); } function log(bool p0, uint p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,bool)", p0, p1, p2, p3)); } function log(bool p0, uint p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,string,address)", p0, p1, p2, p3)); } function log(bool p0, uint p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,uint)", p0, p1, p2, p3)); } function log(bool p0, uint p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,string)", p0, p1, p2, p3)); } function log(bool p0, uint p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,bool)", p0, p1, p2, p3)); } function log(bool p0, uint p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,bool,address)", p0, p1, p2, p3)); } function log(bool p0, uint p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,uint)", p0, p1, p2, p3)); } function log(bool p0, uint p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,string)", p0, p1, p2, p3)); } function log(bool p0, uint p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,bool)", p0, p1, p2, p3)); } function log(bool p0, uint p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,uint,address,address)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,uint)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,string)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,bool)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,uint,address)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,uint)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,string)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,bool)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,string,address)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,uint)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,string)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,bool)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,bool,address)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,uint)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,string)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,bool)", p0, p1, p2, p3)); } function log(bool p0, string memory p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,string,address,address)", p0, p1, p2, p3)); } function log(bool p0, bool p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,uint)", p0, p1, p2, p3)); } function log(bool p0, bool p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,string)", p0, p1, p2, p3)); } function log(bool p0, bool p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,bool)", p0, p1, p2, p3)); } function log(bool p0, bool p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,uint,address)", p0, p1, p2, p3)); } function log(bool p0, bool p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,uint)", p0, p1, p2, p3)); } function log(bool p0, bool p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,string)", p0, p1, p2, p3)); } function log(bool p0, bool p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,bool)", p0, p1, p2, p3)); } function log(bool p0, bool p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,string,address)", p0, p1, p2, p3)); } function log(bool p0, bool p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,uint)", p0, p1, p2, p3)); } function log(bool p0, bool p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,string)", p0, p1, p2, p3)); } function log(bool p0, bool p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,bool)", p0, p1, p2, p3)); } function log(bool p0, bool p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,bool,address)", p0, p1, p2, p3)); } function log(bool p0, bool p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,uint)", p0, p1, p2, p3)); } function log(bool p0, bool p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,string)", p0, p1, p2, p3)); } function log(bool p0, bool p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,bool)", p0, p1, p2, p3)); } function log(bool p0, bool p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,bool,address,address)", p0, p1, p2, p3)); } function log(bool p0, address p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,uint)", p0, p1, p2, p3)); } function log(bool p0, address p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,string)", p0, p1, p2, p3)); } function log(bool p0, address p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,bool)", p0, p1, p2, p3)); } function log(bool p0, address p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,uint,address)", p0, p1, p2, p3)); } function log(bool p0, address p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,uint)", p0, p1, p2, p3)); } function log(bool p0, address p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,string)", p0, p1, p2, p3)); } function log(bool p0, address p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,bool)", p0, p1, p2, p3)); } function log(bool p0, address p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,string,address)", p0, p1, p2, p3)); } function log(bool p0, address p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,uint)", p0, p1, p2, p3)); } function log(bool p0, address p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,string)", p0, p1, p2, p3)); } function log(bool p0, address p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,bool)", p0, p1, p2, p3)); } function log(bool p0, address p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,bool,address)", p0, p1, p2, p3)); } function log(bool p0, address p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,uint)", p0, p1, p2, p3)); } function log(bool p0, address p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,string)", p0, p1, p2, p3)); } function log(bool p0, address p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,bool)", p0, p1, p2, p3)); } function log(bool p0, address p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(bool,address,address,address)", p0, p1, p2, p3)); } function log(address p0, uint p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,uint)", p0, p1, p2, p3)); } function log(address p0, uint p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,string)", p0, p1, p2, p3)); } function log(address p0, uint p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,bool)", p0, p1, p2, p3)); } function log(address p0, uint p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,uint,address)", p0, p1, p2, p3)); } function log(address p0, uint p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,string,uint)", p0, p1, p2, p3)); } function log(address p0, uint p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,string,string)", p0, p1, p2, p3)); } function log(address p0, uint p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,string,bool)", p0, p1, p2, p3)); } function log(address p0, uint p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,string,address)", p0, p1, p2, p3)); } function log(address p0, uint p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,uint)", p0, p1, p2, p3)); } function log(address p0, uint p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,string)", p0, p1, p2, p3)); } function log(address p0, uint p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,bool)", p0, p1, p2, p3)); } function log(address p0, uint p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,bool,address)", p0, p1, p2, p3)); } function log(address p0, uint p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,address,uint)", p0, p1, p2, p3)); } function log(address p0, uint p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,address,string)", p0, p1, p2, p3)); } function log(address p0, uint p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,address,bool)", p0, p1, p2, p3)); } function log(address p0, uint p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,uint,address,address)", p0, p1, p2, p3)); } function log(address p0, string memory p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint,uint)", p0, p1, p2, p3)); } function log(address p0, string memory p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint,string)", p0, p1, p2, p3)); } function log(address p0, string memory p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint,bool)", p0, p1, p2, p3)); } function log(address p0, string memory p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,uint,address)", p0, p1, p2, p3)); } function log(address p0, string memory p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string,uint)", p0, p1, p2, p3)); } function log(address p0, string memory p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string,string)", p0, p1, p2, p3)); } function log(address p0, string memory p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string,bool)", p0, p1, p2, p3)); } function log(address p0, string memory p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,string,address)", p0, p1, p2, p3)); } function log(address p0, string memory p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,uint)", p0, p1, p2, p3)); } function log(address p0, string memory p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,string)", p0, p1, p2, p3)); } function log(address p0, string memory p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,bool)", p0, p1, p2, p3)); } function log(address p0, string memory p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,bool,address)", p0, p1, p2, p3)); } function log(address p0, string memory p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address,uint)", p0, p1, p2, p3)); } function log(address p0, string memory p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address,string)", p0, p1, p2, p3)); } function log(address p0, string memory p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address,bool)", p0, p1, p2, p3)); } function log(address p0, string memory p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,string,address,address)", p0, p1, p2, p3)); } function log(address p0, bool p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,uint)", p0, p1, p2, p3)); } function log(address p0, bool p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,string)", p0, p1, p2, p3)); } function log(address p0, bool p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,bool)", p0, p1, p2, p3)); } function log(address p0, bool p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,uint,address)", p0, p1, p2, p3)); } function log(address p0, bool p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,uint)", p0, p1, p2, p3)); } function log(address p0, bool p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,string)", p0, p1, p2, p3)); } function log(address p0, bool p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,bool)", p0, p1, p2, p3)); } function log(address p0, bool p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,string,address)", p0, p1, p2, p3)); } function log(address p0, bool p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,uint)", p0, p1, p2, p3)); } function log(address p0, bool p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,string)", p0, p1, p2, p3)); } function log(address p0, bool p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,bool)", p0, p1, p2, p3)); } function log(address p0, bool p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,bool,address)", p0, p1, p2, p3)); } function log(address p0, bool p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,uint)", p0, p1, p2, p3)); } function log(address p0, bool p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,string)", p0, p1, p2, p3)); } function log(address p0, bool p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,bool)", p0, p1, p2, p3)); } function log(address p0, bool p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,bool,address,address)", p0, p1, p2, p3)); } function log(address p0, address p1, uint p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint,uint)", p0, p1, p2, p3)); } function log(address p0, address p1, uint p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint,string)", p0, p1, p2, p3)); } function log(address p0, address p1, uint p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint,bool)", p0, p1, p2, p3)); } function log(address p0, address p1, uint p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,uint,address)", p0, p1, p2, p3)); } function log(address p0, address p1, string memory p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string,uint)", p0, p1, p2, p3)); } function log(address p0, address p1, string memory p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string,string)", p0, p1, p2, p3)); } function log(address p0, address p1, string memory p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string,bool)", p0, p1, p2, p3)); } function log(address p0, address p1, string memory p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,string,address)", p0, p1, p2, p3)); } function log(address p0, address p1, bool p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,uint)", p0, p1, p2, p3)); } function log(address p0, address p1, bool p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,string)", p0, p1, p2, p3)); } function log(address p0, address p1, bool p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,bool)", p0, p1, p2, p3)); } function log(address p0, address p1, bool p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,bool,address)", p0, p1, p2, p3)); } function log(address p0, address p1, address p2, uint p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,uint)", p0, p1, p2, p3)); } function log(address p0, address p1, address p2, string memory p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,string)", p0, p1, p2, p3)); } function log(address p0, address p1, address p2, bool p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,bool)", p0, p1, p2, p3)); } function log(address p0, address p1, address p2, address p3) internal view { _sendLogPayload(abi.encodeWithSignature("log(address,address,address,address)", p0, p1, p2, p3)); } } // File: undefined/TopperUpper.sol //SPDX-License-Identifier: GPL-3.0 pragma solidity 0.8.9; contract TopperUpper is FundsRecovery { struct Limit { uint256 native; uint256 token; uint256 blocksWindow; } struct CurrentLimit { uint256 amount; uint256 validTill; } mapping(address => bool) public managers; mapping(address => Limit) public approvedAddresses; mapping(address => CurrentLimit) public tokenLimits; // Current period token limits mapping(address => CurrentLimit) public nativeLimits; // Current period native currency limits modifier onlyManager() { require(managers[_msgSender()], "Caller is not a manager"); _; } constructor(address _token) { token = IERC20(_token); } receive() external payable {} function setManagers(address[] memory _managers) public onlyOwner { require(_managers.length > 0, "Please pass at least one manager"); for (uint256 i = 0; i < _managers.length; i++) { managers[_managers[i]] = true; } } function removeManagers(address[] memory _managers) public onlyOwner { require(_managers.length > 0, "Invalid array length"); for (uint256 i = 0; i < _managers.length; i++) { delete managers[_managers[i]]; } } function approveAddresses( address[] memory _addrs, uint256[] memory _limitsNative, uint256[] memory _limitsToken, uint256[] memory _blocksWindow ) public onlyOwner { require( _addrs.length == _limitsNative.length && _limitsNative.length == _limitsToken.length && _blocksWindow.length == _limitsToken.length, "Invalid array length" ); for (uint256 i = 0; i < _addrs.length; i++) { Limit memory limit = Limit( _limitsNative[i], _limitsToken[i], _blocksWindow[i] ); approvedAddresses[_addrs[i]] = limit; } } function disapproveAddresses(address[] memory _addrs) public onlyOwner { require(_addrs.length > 0, "Invalid array length"); for (uint256 i = 0; i < _addrs.length; i++) { delete approvedAddresses[_addrs[i]]; delete nativeLimits[_addrs[i]]; delete tokenLimits[_addrs[i]]; } } function _topupNative(address payable _to, uint256 _amount) internal { if (block.number > nativeLimits[_to].validTill) { require( approvedAddresses[_to].native >= _amount, "Payout limits exceeded" ); nativeLimits[_to].validTill = block.number + approvedAddresses[_to].blocksWindow; nativeLimits[_to].amount = approvedAddresses[_to].native - _amount; } else { require( nativeLimits[_to].amount >= _amount, "Payout limits exceeded" ); nativeLimits[_to].amount -= _amount; } _to.transfer(_amount); } function topupNative(address payable _to, uint256 _amounts) public onlyManager { _topupNative(_to, _amounts); } function topupNatives( address payable[] memory _to, uint256[] memory _amounts ) public onlyManager { require(_amounts.length == _to.length, "Invalid array length"); for (uint256 i = 0; i < _to.length; i++) { topupNative(_to[i], _amounts[i]); } } function _topupToken(address _to, uint256 _amount) internal { if (block.number > tokenLimits[_to].validTill) { require( approvedAddresses[_to].token >= _amount, "Payout limits exceeded" ); tokenLimits[_to].validTill = block.number + approvedAddresses[_to].blocksWindow; tokenLimits[_to].amount = approvedAddresses[_to].token - _amount; } else { require( tokenLimits[_to].amount >= _amount, "Payout limits exceeded" ); tokenLimits[_to].amount -= _amount; } token.transfer(_to, _amount); } function topupToken(address _to, uint256 _amounts) public onlyManager { _topupToken(_to, _amounts); } function topupTokens(address[] memory _to, uint256[] memory _amounts) public onlyManager { require(_amounts.length == _to.length, "Invalid array length"); for (uint256 i = 0; i < _amounts.length; i++) { _topupToken(_to[i], _amounts[i]); } } }
[{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousDestination","type":"address"},{"indexed":true,"internalType":"address","name":"newDestination","type":"address"}],"name":"DestinationChanged","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"},{"inputs":[{"internalType":"address[]","name":"_addrs","type":"address[]"},{"internalType":"uint256[]","name":"_limitsNative","type":"uint256[]"},{"internalType":"uint256[]","name":"_limitsToken","type":"uint256[]"},{"internalType":"uint256[]","name":"_blocksWindow","type":"uint256[]"}],"name":"approveAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"approvedAddresses","outputs":[{"internalType":"uint256","name":"native","type":"uint256"},{"internalType":"uint256","name":"token","type":"uint256"},{"internalType":"uint256","name":"blocksWindow","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"claimTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_addrs","type":"address[]"}],"name":"disapproveAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getFundsDestination","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"managers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nativeLimits","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"validTill","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_managers","type":"address[]"}],"name":"removeManagers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_newDestination","type":"address"}],"name":"setFundsDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_managers","type":"address[]"}],"name":"setManagers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenLimits","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"validTill","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_to","type":"address"},{"internalType":"uint256","name":"_amounts","type":"uint256"}],"name":"topupNative","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable[]","name":"_to","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"topupNatives","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amounts","type":"uint256"}],"name":"topupToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_to","type":"address[]"},{"internalType":"uint256[]","name":"_amounts","type":"uint256[]"}],"name":"topupTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516116a53803806116a583398101604081905261002f916100ad565b6100383361005d565b600280546001600160a01b0319166001600160a01b03929092169190911790556100dd565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100bf57600080fd5b81516001600160a01b03811681146100d657600080fd5b9392505050565b6115b9806100ec6000396000f3fe6080604052600436106101235760003560e01c806391b571cf116100a0578063f2fde38b11610064578063f2fde38b14610391578063f4856230146103b1578063f58c5b6e146103c6578063fc0c546a146103db578063fdff9b4d146103fb57600080fd5b806391b571cf146102a6578063d4f2b668146102c6578063df8de3e7146102e6578063e7fc94c414610306578063f136a8741461033a57600080fd5b80634784e21b116100e75780634784e21b146101ff5780634f85d3db1461021f578063714280b31461023f578063715018a61461025f5780638da5cb5b1461027457600080fd5b80630d4e1a1e1461012f57806310f3ee2914610151578063238e130a14610171578063367caa0914610191578063417a0698146101b157600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5061014f61014a366004611092565b61043b565b005b34801561015d57600080fd5b5061014f61016c36600461119d565b610481565b34801561017d57600080fd5b5061014f61018c3660046111da565b610509565b34801561019d57600080fd5b5061014f6101ac36600461119d565b610593565b3480156101bd57600080fd5b506101e56101cc3660046111da565b6005602052600090815260409020805460019091015482565b604080519283526020830191909152015b60405180910390f35b34801561020b57600080fd5b5061014f61021a366004611259565b610654565b34801561022b57600080fd5b5061014f61023a36600461119d565b610788565b34801561024b57600080fd5b5061014f61025a366004611092565b6108bb565b34801561026b57600080fd5b5061014f6108f4565b34801561028057600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101f6565b3480156102b257600080fd5b5061014f6102c1366004611306565b610908565b3480156102d257600080fd5b5061014f6102e136600461136a565b6109b7565b3480156102f257600080fd5b5061014f6103013660046111da565b610a61565b34801561031257600080fd5b506101e56103213660046111da565b6006602052600090815260409020805460019091015482565b34801561034657600080fd5b506103766103553660046111da565b60046020526000908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060016101f6565b34801561039d57600080fd5b5061014f6103ac3660046111da565b610bf8565b3480156103bd57600080fd5b5061014f610c71565b3480156103d257600080fd5b5061028e610cd2565b3480156103e757600080fd5b5060025461028e906001600160a01b031681565b34801561040757600080fd5b5061042b6104163660046111da565b60036020526000908152604090205460ff1681565b60405190151581526020016101f6565b3360009081526003602052604090205460ff166104735760405162461bcd60e51b815260040161046a90611415565b60405180910390fd5b61047d8282610cec565b5050565b610489610e5a565b60008151116104aa5760405162461bcd60e51b815260040161046a9061144c565b60005b815181101561047d57600360008383815181106104cc576104cc61147a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916905580610501816114a6565b9150506104ad565b610511610e5a565b6001600160a01b0381166105375760405162461bcd60e51b815260040161046a906114c1565b6001546040516001600160a01b038084169216907fe1a66d77649cf0a57b9937073549f30f1c82bb865aaf066d2f299e37a62c6aad90600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b61059b610e5a565b60008151116105ec5760405162461bcd60e51b815260206004820181905260248201527f506c656173652070617373206174206c65617374206f6e65206d616e61676572604482015260640161046a565b60005b815181101561047d576001600360008484815181106106105761061061147a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061064c816114a6565b9150506105ef565b61065c610e5a565b8251845114801561066e575081518351145b801561067b575081518151145b6106975760405162461bcd60e51b815260040161046a9061144c565b60005b845181101561078157600060405180606001604052808684815181106106c2576106c261147a565b602002602001015181526020018584815181106106e1576106e161147a565b602002602001015181526020018484815181106107005761070061147a565b6020026020010151815250905080600460008885815181106107245761072461147a565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600082015181600001556020820151816001015560408201518160020155905050508080610779906114a6565b91505061069a565b5050505050565b610790610e5a565b60008151116107b15760405162461bcd60e51b815260040161046a9061144c565b60005b815181101561047d57600460008383815181106107d3576107d361147a565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000808201600090556001820160009055600282016000905550506006600083838151811061082c5761082c61147a565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020600080820160009055600182016000905550506005600083838151811061087d5761087d61147a565b6020908102919091018101516001600160a01b03168252810191909152604001600090812081815560010155806108b3816114a6565b9150506107b4565b3360009081526003602052604090205460ff166108ea5760405162461bcd60e51b815260040161046a90611415565b61047d8282610eb4565b6108fc610e5a565b610906600061102d565b565b3360009081526003602052604090205460ff166109375760405162461bcd60e51b815260040161046a90611415565b81518151146109585760405162461bcd60e51b815260040161046a9061144c565b60005b81518110156109b2576109a08382815181106109795761097961147a565b60200260200101518383815181106109935761099361147a565b6020026020010151610eb4565b806109aa816114a6565b91505061095b565b505050565b3360009081526003602052604090205460ff166109e65760405162461bcd60e51b815260040161046a90611415565b8151815114610a075760405162461bcd60e51b815260040161046a9061144c565b60005b82518110156109b257610a4f838281518110610a2857610a2861147a565b6020026020010151838381518110610a4257610a4261147a565b602002602001015161043b565b80610a59816114a6565b915050610a0a565b6001546001600160a01b0316610a895760405162461bcd60e51b815260040161046a906114c1565b6002546001600160a01b0382811691161415610af55760405162461bcd60e51b815260206004820152602560248201527f6e617469766520746f6b656e2066756e64732063616e2774206265207265636f6044820152641d995c995960da1b606482015260840161046a565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6f91906114e9565b60015460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925083169063a9059cbb906044015b602060405180830381600087803b158015610bc057600080fd5b505af1158015610bd4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b29190611502565b610c00610e5a565b6001600160a01b038116610c655760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046a565b610c6e8161102d565b50565b6001546001600160a01b0316610c995760405162461bcd60e51b815260040161046a906114c1565b6001546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610c6e573d6000803e3d6000fd5b6000610cdc610e5a565b506001546001600160a01b031690565b6001600160a01b038216600090815260066020526040902060010154431115610dbe576001600160a01b038216600090815260046020526040902054811115610d475760405162461bcd60e51b815260040161046a90611524565b6001600160a01b038216600090815260046020526040902060020154610d6d9043611554565b6001600160a01b038316600090815260066020908152604080832060010193909355600490522054610da090829061156c565b6001600160a01b038316600090815260066020526040902055610e24565b6001600160a01b038216600090815260066020526040902054811115610df65760405162461bcd60e51b815260040161046a90611524565b6001600160a01b03821660009081526006602052604081208054839290610e1e90849061156c565b90915550505b6040516001600160a01b0383169082156108fc029083906000818181858888f193505050501580156109b2573d6000803e3d6000fd5b6000546001600160a01b031633146109065760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161046a565b6001600160a01b038216600090815260056020526040902060010154431115610f8e576001600160a01b038216600090815260046020526040902060010154811115610f125760405162461bcd60e51b815260040161046a90611524565b6001600160a01b038216600090815260046020526040902060020154610f389043611554565b6001600160a01b0383166000908152600560209081526040808320600190810194909455600490915290200154610f7090829061156c565b6001600160a01b038316600090815260056020526040902055610ff4565b6001600160a01b038216600090815260056020526040902054811115610fc65760405162461bcd60e51b815260040161046a90611524565b6001600160a01b03821660009081526005602052604081208054839290610fee90849061156c565b90915550505b60025460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb90604401610ba6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381168114610c6e57600080fd5b600080604083850312156110a557600080fd5b82356110b08161107d565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156110fd576110fd6110be565b604052919050565b600067ffffffffffffffff82111561111f5761111f6110be565b5060051b60200190565b600082601f83011261113a57600080fd5b8135602061114f61114a83611105565b6110d4565b82815260059290921b8401810191818101908684111561116e57600080fd5b8286015b848110156111925780356111858161107d565b8352918301918301611172565b509695505050505050565b6000602082840312156111af57600080fd5b813567ffffffffffffffff8111156111c657600080fd5b6111d284828501611129565b949350505050565b6000602082840312156111ec57600080fd5b81356111f78161107d565b9392505050565b600082601f83011261120f57600080fd5b8135602061121f61114a83611105565b82815260059290921b8401810191818101908684111561123e57600080fd5b8286015b848110156111925780358352918301918301611242565b6000806000806080858703121561126f57600080fd5b843567ffffffffffffffff8082111561128757600080fd5b61129388838901611129565b955060208701359150808211156112a957600080fd5b6112b5888389016111fe565b945060408701359150808211156112cb57600080fd5b6112d7888389016111fe565b935060608701359150808211156112ed57600080fd5b506112fa878288016111fe565b91505092959194509250565b6000806040838503121561131957600080fd5b823567ffffffffffffffff8082111561133157600080fd5b61133d86838701611129565b9350602085013591508082111561135357600080fd5b50611360858286016111fe565b9150509250929050565b6000806040838503121561137d57600080fd5b823567ffffffffffffffff8082111561139557600080fd5b818501915085601f8301126113a957600080fd5b813560206113b961114a83611105565b82815260059290921b840181019181810190898411156113d857600080fd5b948201945b838610156113ff5785356113f08161107d565b825294820194908201906113dd565b9650508601359250508082111561135357600080fd5b60208082526017908201527f43616c6c6572206973206e6f742061206d616e61676572000000000000000000604082015260600190565b602080825260149082015273092dcecc2d8d2c840c2e4e4c2f240d8cadccee8d60631b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156114ba576114ba611490565b5060010190565b6020808252600e908201526d061646472657373206973203078360941b604082015260600190565b6000602082840312156114fb57600080fd5b5051919050565b60006020828403121561151457600080fd5b815180151581146111f757600080fd5b60208082526016908201527514185e5bdd5d081b1a5b5a5d1cc8195e18d95959195960521b604082015260600190565b6000821982111561156757611567611490565b500190565b60008282101561157e5761157e611490565b50039056fea2646970667358221220d2885a1c49adecfc291438a48b5a6c9d4bc9d922ad6252ab39657edcc832e78564736f6c63430008090033000000000000000000000000b923b52b60e247e34f9afe6b3fa5accbaea829e8
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000b923b52b60e247e34f9afe6b3fa5accbaea829e8
-----Decoded View---------------
Arg [0] : _token (address): 0xb923b52b60e247e34f9afe6b3fa5accbaea829e8
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000b923b52b60e247e34f9afe6b3fa5accbaea829e8
Deployed ByteCode Sourcemap
71789:4786:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;74932:148;;;;;;;;;;-1:-1:-1;74932:148:0;;;;;:::i;:::-;;:::i;:::-;;72832:254;;;;;;;;;;-1:-1:-1;72832:254:0;;;;;:::i;:::-;;:::i;6855:308::-;;;;;;;;;;-1:-1:-1;6855:308:0;;;;;:::i;:::-;;:::i;72561:263::-;;;;;;;;;;-1:-1:-1;72561:263:0;;;;;:::i;:::-;;:::i;72136:51::-;;;;;;;;;;-1:-1:-1;72136:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2899:25:1;;;2955:2;2940:18;;2933:34;;;;2872:18;72136:51:0;;;;;;;;73094:737;;;;;;;;;;-1:-1:-1;73094:737:0;;;;;:::i;:::-;;:::i;73839:345::-;;;;;;;;;;-1:-1:-1;73839:345:0;;;;;:::i;:::-;;:::i;76141:115::-;;;;;;;;;;-1:-1:-1;76141:115:0;;;;;:::i;:::-;;:::i;2776:103::-;;;;;;;;;;;;;:::i;2128:87::-;;;;;;;;;;-1:-1:-1;2174:7:0;2201:6;-1:-1:-1;;;;;2201:6:0;2128:87;;;-1:-1:-1;;;;;5190:32:1;;;5172:51;;5160:2;5145:18;2128:87:0;5026:203:1;76264:308:0;;;;;;;;;;-1:-1:-1;76264:308:0;;;;;:::i;:::-;;:::i;75088:314::-;;;;;;;;;;-1:-1:-1;75088:314:0;;;;;:::i;:::-;;:::i;7724:371::-;;;;;;;;;;-1:-1:-1;7724:371:0;;;;;:::i;:::-;;:::i;72225:52::-;;;;;;;;;;-1:-1:-1;72225:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;72079:50;;;;;;;;;;-1:-1:-1;72079:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7272:25:1;;;7328:2;7313:18;;7306:34;;;;7356:18;;;7349:34;7260:2;7245:18;72079:50:0;7070:319:1;3034:201:0;;;;;;;;;;-1:-1:-1;3034:201:0;;;;;:::i;:::-;;:::i;7480:165::-;;;;;;;;;;;;;:::i;7232:113::-;;;;;;;;;;;;;:::i;6631:19::-;;;;;;;;;;-1:-1:-1;6631:19:0;;;;-1:-1:-1;;;;;6631:19:0;;;72032:40;;;;;;;;;;-1:-1:-1;72032:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7781:14:1;;7774:22;7756:41;;7744:2;7729:18;72032:40:0;7616:187:1;74932:148:0;759:10;72369:22;;;;:8;:22;;;;;;;;72361:58;;;;-1:-1:-1;;;72361:58:0;;;;;;;:::i;:::-;;;;;;;;;75045:27:::1;75058:3;75063:8;75045:12;:27::i;:::-;74932:148:::0;;:::o;72832:254::-;2014:13;:11;:13::i;:::-;72939:1:::1;72920:9;:16;:20;72912:53;;;;-1:-1:-1::0;;;72912:53:0::1;;;;;;;:::i;:::-;72981:9;72976:103;73000:9;:16;72996:1;:20;72976:103;;;73045:8;:22;73054:9;73064:1;73054:12;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;73045:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;73045:22:0;73038:29;;-1:-1:-1;;73038:29:0::1;::::0;;73018:3;::::1;::::0;::::1;:::i;:::-;;;;72976:103;;6855:308:::0;2014:13;:11;:13::i;:::-;-1:-1:-1;;;;;6993:29:0;::::1;6985:56;;;;-1:-1:-1::0;;;6985:56:0::1;;;;;;;:::i;:::-;7076:16;::::0;7057:53:::1;::::0;-1:-1:-1;;;;;7057:53:0;;::::1;::::0;7076:16:::1;::::0;7057:53:::1;::::0;7076:16:::1;::::0;7057:53:::1;7121:16;:34:::0;;-1:-1:-1;;;;;;7121:34:0::1;-1:-1:-1::0;;;;;7121:34:0;;;::::1;::::0;;;::::1;::::0;;6855:308::o;72561:263::-;2014:13;:11;:13::i;:::-;72665:1:::1;72646:9;:16;:20;72638:65;;;::::0;-1:-1:-1;;;72638:65:0;;9458:2:1;72638:65:0::1;::::0;::::1;9440:21:1::0;;;9477:18;;;9470:30;9536:34;9516:18;;;9509:62;9588:18;;72638:65:0::1;9256:356:1::0;72638:65:0::1;72719:9;72714:103;72738:9;:16;72734:1;:20;72714:103;;;72801:4;72776:8;:22;72785:9;72795:1;72785:12;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;72776:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;72776:22:0;:29;;-1:-1:-1;;72776:29:0::1;::::0;::::1;;::::0;;;::::1;::::0;;72756:3;::::1;::::0;::::1;:::i;:::-;;;;72714:103;;73094:737:::0;2014:13;:11;:13::i;:::-;73350::::1;:20;73333:6;:13;:37;:101;;;;;73415:12;:19;73391:13;:20;:43;73333:101;:165;;;;;73479:12;:19;73455:13;:20;:43;73333:165;73311:235;;;;-1:-1:-1::0;;;73311:235:0::1;;;;;;;:::i;:::-;73562:9;73557:267;73581:6;:13;73577:1;:17;73557:267;;;73616:18;73637:124;;;;;;;;73661:13;73675:1;73661:16;;;;;;;;:::i;:::-;;;;;;;73637:124;;;;73696:12;73709:1;73696:15;;;;;;;;:::i;:::-;;;;;;;73637:124;;;;73730:13;73744:1;73730:16;;;;;;;;:::i;:::-;;;;;;;73637:124;;::::0;73616:145:::1;;73807:5;73776:17;:28;73794:6;73801:1;73794:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;73776:28:0::1;-1:-1:-1::0;;;;;73776:28:0::1;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;73601:223;73596:3;;;;;:::i;:::-;;;;73557:267;;;;73094:737:::0;;;;:::o;73839:345::-;2014:13;:11;:13::i;:::-;73945:1:::1;73929:6;:13;:17;73921:50;;;;-1:-1:-1::0;;;73921:50:0::1;;;;;;;:::i;:::-;73987:9;73982:195;74006:6;:13;74002:1;:17;73982:195;;;74048:17;:28;74066:6;74073:1;74066:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;74048:28:0::1;-1:-1:-1::0;;;;;74048:28:0::1;;;;;;;;;;;;;74041:35:::0;::::1;;;;;;;;;;;;;;;;;;;74098:12;:23;74111:6;74118:1;74111:9;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;74098:23:0::1;-1:-1:-1::0;;;;;74098:23:0::1;;;;;;;;;;;;;74091:30:::0;::::1;;;;;;;;;;;;;74143:11;:22;74155:6;74162:1;74155:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;74143:22:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;74143:22:0;;;74136:29;;;::::1;;::::0;74021:3;::::1;::::0;::::1;:::i;:::-;;;;73982:195;;76141:115:::0;759:10;72369:22;;;;:8;:22;;;;;;;;72361:58;;;;-1:-1:-1;;;72361:58:0;;;;;;;:::i;:::-;76222:26:::1;76234:3;76239:8;76222:11;:26::i;2776:103::-:0;2014:13;:11;:13::i;:::-;2841:30:::1;2868:1;2841:18;:30::i;:::-;2776:103::o:0;76264:308::-;759:10;72369:22;;;;:8;:22;;;;;;;;72361:58;;;;-1:-1:-1;;;72361:58:0;;;;;;;:::i;:::-;76414:3:::1;:10;76395:8;:15;:29;76387:62;;;;-1:-1:-1::0;;;76387:62:0::1;;;;;;;:::i;:::-;76465:9;76460:105;76484:8;:15;76480:1;:19;76460:105;;;76521:32;76533:3;76537:1;76533:6;;;;;;;;:::i;:::-;;;;;;;76541:8;76550:1;76541:11;;;;;;;;:::i;:::-;;;;;;;76521;:32::i;:::-;76501:3:::0;::::1;::::0;::::1;:::i;:::-;;;;76460:105;;;;76264:308:::0;;:::o;75088:314::-;759:10;72369:22;;;;:8;:22;;;;;;;;72361:58;;;;-1:-1:-1;;;72361:58:0;;;;;;;:::i;:::-;75249:3:::1;:10;75230:8;:15;:29;75222:62;;;;-1:-1:-1::0;;;75222:62:0::1;;;;;;;:::i;:::-;75300:9;75295:100;75319:3;:10;75315:1;:14;75295:100;;;75351:32;75363:3;75367:1;75363:6;;;;;;;;:::i;:::-;;;;;;;75371:8;75380:1;75371:11;;;;;;;;:::i;:::-;;;;;;;75351;:32::i;:::-;75331:3:::0;::::1;::::0;::::1;:::i;:::-;;;;75295:100;;7724:371:::0;7787:16;;-1:-1:-1;;;;;7787:16:0;7779:57;;;;-1:-1:-1;;;7779:57:0;;;;;;;:::i;:::-;7887:5;;-1:-1:-1;;;;;7869:24:0;;;7887:5;;7869:24;;7847:111;;;;-1:-1:-1;;;7847:111:0;;9819:2:1;7847:111:0;;;9801:21:1;9858:2;9838:18;;;9831:30;9897:34;9877:18;;;9870:62;-1:-1:-1;;;9948:18:1;;;9941:35;9993:19;;7847:111:0;9617:401:1;7847:111:0;7987:39;;-1:-1:-1;;;7987:39:0;;8020:4;7987:39;;;5172:51:1;7969:15:0;;-1:-1:-1;;;;;7987:24:0;;;;;5145:18:1;;7987:39:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8061:16;;8037:50;;-1:-1:-1;;;8037:50:0;;-1:-1:-1;;;;;8061:16:0;;;8037:50;;;10394:51:1;10461:18;;;10454:34;;;7969:57:0;;-1:-1:-1;8037:23:0;;;;;10367:18:1;;8037:50:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3034:201::-;2014:13;:11;:13::i;:::-;-1:-1:-1;;;;;3123:22:0;::::1;3115:73;;;::::0;-1:-1:-1;;;3115:73:0;;10983:2:1;3115:73:0::1;::::0;::::1;10965:21:1::0;11022:2;11002:18;;;10995:30;11061:34;11041:18;;;11034:62;-1:-1:-1;;;11112:18:1;;;11105:36;11158:19;;3115:73:0::1;10781:402:1::0;3115:73:0::1;3199:28;3218:8;3199:18;:28::i;:::-;3034:201:::0;:::o;7480:165::-;7529:16;;-1:-1:-1;;;;;7529:16:0;7521:57;;;;-1:-1:-1;;;7521:57:0;;;;;;;:::i;:::-;7589:16;;:48;;-1:-1:-1;;;;;7589:16:0;;;;7615:21;7589:48;;;;;:16;:48;:16;:48;7615:21;7589:16;:48;;;;;;;;;;;;;;;;;;;7232:113;7294:7;2014:13;:11;:13::i;:::-;-1:-1:-1;7321:16:0::1;::::0;-1:-1:-1;;;;;7321:16:0::1;7232:113:::0;:::o;74192:732::-;-1:-1:-1;;;;;74291:17:0;;;;;;:12;:17;;;;;:27;;;74276:12;:42;74272:611;;;-1:-1:-1;;;;;74361:22:0;;;;;;:17;:22;;;;;:29;:40;-1:-1:-1;74361:40:0;74335:124;;;;-1:-1:-1;;;74335:124:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;74553:22:0;;;;;;:17;:22;;;;;:35;;;74521:67;;:12;:67;:::i;:::-;-1:-1:-1;;;;;74474:17:0;;;;;;:12;:17;;;;;;;;:27;;:114;;;;74630:17;:22;;;:29;:39;;74662:7;;74630:39;:::i;:::-;-1:-1:-1;;;;;74603:17:0;;;;;;:12;:17;;;;;:66;74272:611;;;-1:-1:-1;;;;;74728:17:0;;;;;;:12;:17;;;;;:24;:35;-1:-1:-1;74728:35:0;74702:119;;;;-1:-1:-1;;;74702:119:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;74836:17:0;;;;;;:12;:17;;;;;:35;;74864:7;;74836:17;:35;;74864:7;;74836:35;:::i;:::-;;;;-1:-1:-1;;74272:611:0;74895:21;;-1:-1:-1;;;;;74895:12:0;;;:21;;;;;74908:7;;74895:21;;;;74908:7;74895:12;:21;;;;;;;;;;;;;;;;;;;2293:132;2174:7;2201:6;-1:-1:-1;;;;;2201:6:0;759:10;2357:23;2349:68;;;;-1:-1:-1;;;2349:68:0;;12004:2:1;2349:68:0;;;11986:21:1;;;12023:18;;;12016:30;12082:34;12062:18;;;12055:62;12134:18;;2349:68:0;11802:356:1;75410:723:0;-1:-1:-1;;;;;75500:16:0;;;;;;:11;:16;;;;;:26;;;75485:12;:41;75481:604;;;-1:-1:-1;;;;;75569:22:0;;;;;;:17;:22;;;;;:28;;;:39;-1:-1:-1;75569:39:0;75543:123;;;;-1:-1:-1;;;75543:123:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;75759:22:0;;;;;;:17;:22;;;;;:35;;;75727:67;;:12;:67;:::i;:::-;-1:-1:-1;;;;;75681:16:0;;;;;;:11;:16;;;;;;;;:26;;;;:113;;;;75835:17;:22;;;;;:28;;:38;;75866:7;;75835:38;:::i;:::-;-1:-1:-1;;;;;75809:16:0;;;;;;:11;:16;;;;;:64;75481:604;;;-1:-1:-1;;;;;75932:16:0;;;;;;:11;:16;;;;;:23;:34;-1:-1:-1;75932:34:0;75906:118;;;;-1:-1:-1;;;75906:118:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;76039:16:0;;;;;;:11;:16;;;;;:34;;76066:7;;76039:16;:34;;76066:7;;76039:34;:::i;:::-;;;;-1:-1:-1;;75481:604:0;76097:5;;:28;;-1:-1:-1;;;76097:28:0;;-1:-1:-1;;;;;10412:32:1;;;76097:28:0;;;10394:51:1;10461:18;;;10454:34;;;76097:5:0;;;;:14;;10367:18:1;;76097:28:0;10212:282:1;3395:191:0;3469:16;3488:6;;-1:-1:-1;;;;;3505:17:0;;;-1:-1:-1;;;;;;3505:17:0;;;;;;3538:40;;3488:6;;;;;;;3538:40;;3469:16;3538:40;3458:128;3395:191;:::o;14:139:1:-;-1:-1:-1;;;;;97:31:1;;87:42;;77:70;;143:1;140;133:12;158:331;234:6;242;295:2;283:9;274:7;270:23;266:32;263:52;;;311:1;308;301:12;263:52;350:9;337:23;369:39;402:5;369:39;:::i;:::-;427:5;479:2;464:18;;;;451:32;;-1:-1:-1;;;158:331:1:o;494:127::-;555:10;550:3;546:20;543:1;536:31;586:4;583:1;576:15;610:4;607:1;600:15;626:275;697:2;691:9;762:2;743:13;;-1:-1:-1;;739:27:1;727:40;;797:18;782:34;;818:22;;;779:62;776:88;;;844:18;;:::i;:::-;880:2;873:22;626:275;;-1:-1:-1;626:275:1:o;906:183::-;966:4;999:18;991:6;988:30;985:56;;;1021:18;;:::i;:::-;-1:-1:-1;1066:1:1;1062:14;1078:4;1058:25;;906:183::o;1094:745::-;1148:5;1201:3;1194:4;1186:6;1182:17;1178:27;1168:55;;1219:1;1216;1209:12;1168:55;1255:6;1242:20;1281:4;1305:60;1321:43;1361:2;1321:43;:::i;:::-;1305:60;:::i;:::-;1399:15;;;1485:1;1481:10;;;;1469:23;;1465:32;;;1430:12;;;;1509:15;;;1506:35;;;1537:1;1534;1527:12;1506:35;1573:2;1565:6;1561:15;1585:225;1601:6;1596:3;1593:15;1585:225;;;1681:3;1668:17;1698:39;1731:5;1698:39;:::i;:::-;1750:18;;1788:12;;;;1618;;1585:225;;;-1:-1:-1;1828:5:1;1094:745;-1:-1:-1;;;;;;1094:745:1:o;1844:348::-;1928:6;1981:2;1969:9;1960:7;1956:23;1952:32;1949:52;;;1997:1;1994;1987:12;1949:52;2037:9;2024:23;2070:18;2062:6;2059:30;2056:50;;;2102:1;2099;2092:12;2056:50;2125:61;2178:7;2169:6;2158:9;2154:22;2125:61;:::i;:::-;2115:71;1844:348;-1:-1:-1;;;;1844:348:1:o;2197:263::-;2264:6;2317:2;2305:9;2296:7;2292:23;2288:32;2285:52;;;2333:1;2330;2323:12;2285:52;2372:9;2359:23;2391:39;2424:5;2391:39;:::i;:::-;2449:5;2197:263;-1:-1:-1;;;2197:263:1:o;2978:662::-;3032:5;3085:3;3078:4;3070:6;3066:17;3062:27;3052:55;;3103:1;3100;3093:12;3052:55;3139:6;3126:20;3165:4;3189:60;3205:43;3245:2;3205:43;:::i;3189:60::-;3283:15;;;3369:1;3365:10;;;;3353:23;;3349:32;;;3314:12;;;;3393:15;;;3390:35;;;3421:1;3418;3411:12;3390:35;3457:2;3449:6;3445:15;3469:142;3485:6;3480:3;3477:15;3469:142;;;3551:17;;3539:30;;3589:12;;;;3502;;3469:142;;3645:1048;3831:6;3839;3847;3855;3908:3;3896:9;3887:7;3883:23;3879:33;3876:53;;;3925:1;3922;3915:12;3876:53;3965:9;3952:23;3994:18;4035:2;4027:6;4024:14;4021:34;;;4051:1;4048;4041:12;4021:34;4074:61;4127:7;4118:6;4107:9;4103:22;4074:61;:::i;:::-;4064:71;;4188:2;4177:9;4173:18;4160:32;4144:48;;4217:2;4207:8;4204:16;4201:36;;;4233:1;4230;4223:12;4201:36;4256:63;4311:7;4300:8;4289:9;4285:24;4256:63;:::i;:::-;4246:73;;4372:2;4361:9;4357:18;4344:32;4328:48;;4401:2;4391:8;4388:16;4385:36;;;4417:1;4414;4407:12;4385:36;4440:63;4495:7;4484:8;4473:9;4469:24;4440:63;:::i;:::-;4430:73;;4556:2;4545:9;4541:18;4528:32;4512:48;;4585:2;4575:8;4572:16;4569:36;;;4601:1;4598;4591:12;4569:36;;4624:63;4679:7;4668:8;4657:9;4653:24;4624:63;:::i;:::-;4614:73;;;3645:1048;;;;;;;:::o;5234:595::-;5352:6;5360;5413:2;5401:9;5392:7;5388:23;5384:32;5381:52;;;5429:1;5426;5419:12;5381:52;5469:9;5456:23;5498:18;5539:2;5531:6;5528:14;5525:34;;;5555:1;5552;5545:12;5525:34;5578:61;5631:7;5622:6;5611:9;5607:22;5578:61;:::i;:::-;5568:71;;5692:2;5681:9;5677:18;5664:32;5648:48;;5721:2;5711:8;5708:16;5705:36;;;5737:1;5734;5727:12;5705:36;;5760:63;5815:7;5804:8;5793:9;5789:24;5760:63;:::i;:::-;5750:73;;;5234:595;;;;;:::o;5834:1231::-;5960:6;5968;6021:2;6009:9;6000:7;5996:23;5992:32;5989:52;;;6037:1;6034;6027:12;5989:52;6077:9;6064:23;6106:18;6147:2;6139:6;6136:14;6133:34;;;6163:1;6160;6153:12;6133:34;6201:6;6190:9;6186:22;6176:32;;6246:7;6239:4;6235:2;6231:13;6227:27;6217:55;;6268:1;6265;6258:12;6217:55;6304:2;6291:16;6326:4;6350:60;6366:43;6406:2;6366:43;:::i;6350:60::-;6444:15;;;6526:1;6522:10;;;;6514:19;;6510:28;;;6475:12;;;;6550:19;;;6547:39;;;6582:1;6579;6572:12;6547:39;6606:11;;;;6626:225;6642:6;6637:3;6634:15;6626:225;;;6722:3;6709:17;6739:39;6772:5;6739:39;:::i;:::-;6791:18;;6659:12;;;;6829;;;;6626:225;;;6870:5;-1:-1:-1;;6913:18:1;;6900:32;;-1:-1:-1;;6944:16:1;;;6941:36;;;6973:1;6970;6963:12;7808:347;8010:2;7992:21;;;8049:2;8029:18;;;8022:30;8088:25;8083:2;8068:18;;8061:53;8146:2;8131:18;;7808:347::o;8160:344::-;8362:2;8344:21;;;8401:2;8381:18;;;8374:30;-1:-1:-1;;;8435:2:1;8420:18;;8413:50;8495:2;8480:18;;8160:344::o;8509:127::-;8570:10;8565:3;8561:20;8558:1;8551:31;8601:4;8598:1;8591:15;8625:4;8622:1;8615:15;8641:127;8702:10;8697:3;8693:20;8690:1;8683:31;8733:4;8730:1;8723:15;8757:4;8754:1;8747:15;8773:135;8812:3;-1:-1:-1;;8833:17:1;;8830:43;;;8853:18;;:::i;:::-;-1:-1:-1;8900:1:1;8889:13;;8773:135::o;8913:338::-;9115:2;9097:21;;;9154:2;9134:18;;;9127:30;-1:-1:-1;;;9188:2:1;9173:18;;9166:44;9242:2;9227:18;;8913:338::o;10023:184::-;10093:6;10146:2;10134:9;10125:7;10121:23;10117:32;10114:52;;;10162:1;10159;10152:12;10114:52;-1:-1:-1;10185:16:1;;10023:184;-1:-1:-1;10023:184:1:o;10499:277::-;10566:6;10619:2;10607:9;10598:7;10594:23;10590:32;10587:52;;;10635:1;10632;10625:12;10587:52;10667:9;10661:16;10720:5;10713:13;10706:21;10699:5;10696:32;10686:60;;10742:1;10739;10732:12;11188:346;11390:2;11372:21;;;11429:2;11409:18;;;11402:30;-1:-1:-1;;;11463:2:1;11448:18;;11441:52;11525:2;11510:18;;11188:346::o;11539:128::-;11579:3;11610:1;11606:6;11603:1;11600:13;11597:39;;;11616:18;;:::i;:::-;-1:-1:-1;11652:9:1;;11539:128::o;11672:125::-;11712:4;11740:1;11737;11734:8;11731:34;;;11745:18;;:::i;:::-;-1:-1:-1;11782:9:1;;11672:125::o
Swarm Source
ipfs://d2885a1c49adecfc291438a48b5a6c9d4bc9d922ad6252ab39657edcc832e785
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|