BscScan - Sponsored slots available. Book your slot here!
Source Code
Latest 25 from a total of 125,153 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw | 91377394 | 6 days ago | IN | 0 BNB | 0.0000176 | ||||
| Withdraw | 90352378 | 12 days ago | IN | 0 BNB | 0.00001955 | ||||
| Withdraw | 87822814 | 25 days ago | IN | 0 BNB | 0.00001702 | ||||
| Claim | 87822795 | 25 days ago | IN | 0 BNB | 0.00000515 | ||||
| Withdraw | 79240166 | 70 days ago | IN | 0 BNB | 0.0000179 | ||||
| Withdraw | 77622966 | 78 days ago | IN | 0 BNB | 0.00003384 | ||||
| Claim | 77622668 | 78 days ago | IN | 0 BNB | 0.0000103 | ||||
| Withdraw | 77177022 | 80 days ago | IN | 0 BNB | 0.00001692 | ||||
| Withdraw | 74510976 | 97 days ago | IN | 0 BNB | 0.00001692 | ||||
| Withdraw | 73679915 | 104 days ago | IN | 0 BNB | 0.00001814 | ||||
| Withdraw | 73527391 | 105 days ago | IN | 0 BNB | 0.00001763 | ||||
| Withdraw | 73440623 | 106 days ago | IN | 0 BNB | 0.00005281 | ||||
| Withdraw | 72872010 | 111 days ago | IN | 0 BNB | 0.00001702 | ||||
| Claim | 72871965 | 111 days ago | IN | 0 BNB | 0.00000446 | ||||
| Withdraw | 72165291 | 117 days ago | IN | 0 BNB | 0.00001947 | ||||
| Withdraw | 71494082 | 123 days ago | IN | 0 BNB | 0.00001918 | ||||
| Claim | 71494072 | 123 days ago | IN | 0 BNB | 0.00000539 | ||||
| Claim | 70332960 | 133 days ago | IN | 0 BNB | 0.00000605 | ||||
| Withdraw | 70295635 | 133 days ago | IN | 0 BNB | 0.00001692 | ||||
| Claim | 70295499 | 133 days ago | IN | 0 BNB | 0.00000515 | ||||
| Withdraw | 69403608 | 141 days ago | IN | 0 BNB | 0.00001826 | ||||
| Withdraw | 69084266 | 144 days ago | IN | 0 BNB | 0.00001936 | ||||
| Withdraw | 68939346 | 145 days ago | IN | 0 BNB | 0.00034181 | ||||
| Claim | 68939326 | 145 days ago | IN | 0 BNB | 0.00009022 | ||||
| Withdraw | 68724320 | 147 days ago | IN | 0 BNB | 0.00001692 |
Latest 25 internal transactions (View All)
| Parent Transaction Hash | Block | From | To | |||
|---|---|---|---|---|---|---|
| 91377394 | 6 days ago | 0.01419265 BNB | ||||
| 91377394 | 6 days ago | 0.01419265 BNB | ||||
| 90953968 | 9 days ago | 0.00182428 BNB | ||||
| 90953968 | 9 days ago | 0.00182428 BNB | ||||
| 90352378 | 12 days ago | 0.00219219 BNB | ||||
| 90352378 | 12 days ago | 0.00219219 BNB | ||||
| 87822814 | 25 days ago | 0.00213088 BNB | ||||
| 87822814 | 25 days ago | 0.00213088 BNB | ||||
| 79240166 | 70 days ago | 0.03124826 BNB | ||||
| 79240166 | 70 days ago | 0.03124826 BNB | ||||
| 77622966 | 78 days ago | 0.00184663 BNB | ||||
| 77622966 | 78 days ago | 0.00184663 BNB | ||||
| 77177022 | 80 days ago | 0.00266959 BNB | ||||
| 77177022 | 80 days ago | 0.00266959 BNB | ||||
| 74510976 | 97 days ago | 0.00639201 BNB | ||||
| 74510976 | 97 days ago | 0.00639201 BNB | ||||
| 73679915 | 104 days ago | 0.00419628 BNB | ||||
| 73679915 | 104 days ago | 0.00419628 BNB | ||||
| 73527391 | 105 days ago | 0.00225303 BNB | ||||
| 73527391 | 105 days ago | 0.00225303 BNB | ||||
| 73440623 | 106 days ago | 0.00524448 BNB | ||||
| 73440623 | 106 days ago | 0.00524448 BNB | ||||
| 72872010 | 111 days ago | 0.00308766 BNB | ||||
| 72872010 | 111 days ago | 0.00308766 BNB | ||||
| 72165291 | 117 days ago | 0.00320214 BNB |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
JagerHunterLP
Compiler Version
v0.8.21+commit.d9974bed
Optimization Enabled:
No with 200 runs
Other Settings:
shanghai EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { IJagerHunter } from "./Interfaces/IJagerHunter.sol";
import { ReentrancyGuard } from "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import { TransferHelper } from "@uniswap/v3-periphery/libraries/TransferHelper.sol";
contract JagerHunterLP is ReentrancyGuard
{
// Info of each user.
struct UserInfo {
uint256 amount; // How many LP the user has provided.
uint256 rewardDebt; // Reward debt.
uint256 pending;
uint256 lockEndedTimestamp;
}
// Info of each pool.
struct PoolInfo {
uint256 accLPPerShare;
uint256 totalAmount;
uint256 lastRewardBlock;
uint256 totalReward;
uint256 releaseReward;
}
uint256 public rewardPerBlock;
// Info of each pool.
PoolInfo public poolInfo;
// Info of each user that stakes LP .
mapping(address => UserInfo) public userInfo;
uint256 public endBlock;
IERC20 public immutable LPToken;
IJagerHunter public immutable jagerToken;
uint256 public constant lockTime = 14 days;
address public immutable airdrop;
uint256 public constant releaseBlockNumber = 70 days / 15;
constructor(address jager, address airdropAddress)
{
jagerToken = IJagerHunter(jager);
LPToken = IERC20(jagerToken.mainPair());
airdrop = airdropAddress;
}
function addReward(uint256 amount) external
{
if(amount == 0)
return;
require(msg.sender == airdrop, "NOT AIRDROP ADDRESS");
TransferHelper.safeTransferFrom(address(jagerToken), msg.sender, address(this), amount);
poolInfo.totalReward += amount;
updatePool();
uint256 currentBlock = block.number;
rewardPerBlock = (poolInfo.totalReward - poolInfo.releaseReward) / releaseBlockNumber;
poolInfo.lastRewardBlock = currentBlock;
endBlock = currentBlock + releaseBlockNumber;
}
// update pool
function updatePool() public
{
if(rewardPerBlock == 0)
return;
if (poolInfo.totalAmount == 0)
return;
if (block.number <= poolInfo.lastRewardBlock)
return;
uint256 currentMaxBlockNumber = endBlock > block.number ? block.number : endBlock;
if(currentMaxBlockNumber > poolInfo.lastRewardBlock)
{
uint256 jagerReward = (currentMaxBlockNumber - poolInfo.lastRewardBlock) * rewardPerBlock;
poolInfo.releaseReward += jagerReward;
poolInfo.accLPPerShare = poolInfo.accLPPerShare + (jagerReward * 1e12 / poolInfo.totalAmount);
}
else
{
rewardPerBlock = 0;
}
poolInfo.lastRewardBlock = block.number;
}
function deposit(uint256 amount) external
{
require(amount > 0, "INVALID AMOUNT");
TransferHelper.safeTransferFrom(address(LPToken), msg.sender, address(this), amount);
depositLp(amount, msg.sender);
}
function depositLp(uint256 amount, address account) private
{
UserInfo storage user = userInfo[account];
updatePool();
queueRewards(account);
user.lockEndedTimestamp = block.timestamp + lockTime;
user.amount += amount;
user.rewardDebt = (user.amount * poolInfo.accLPPerShare) / 1e12;
poolInfo.totalAmount += amount;
}
function withdraw(uint256 amount) external nonReentrant
{
require(amount > 0, "ZERO");
UserInfo storage user = userInfo[msg.sender];
require(user.lockEndedTimestamp < block.timestamp, "STILL LOCKED");
require(user.amount >= amount, "INVALID AMOUNT");
updatePool();
queueRewards(msg.sender);
user.amount -= amount;
user.rewardDebt = (user.amount * poolInfo.accLPPerShare) / 1e12;
poolInfo.totalAmount -= amount;
claimAccountReward(msg.sender);
TransferHelper.safeApprove(address(LPToken), address(jagerToken), amount);
bool success = false;
uint amountToken;
uint amountETH;
try jagerToken.removeLiquidity(amount) returns (uint _amountToken, uint _amountETH)
{
amountToken = _amountToken;
amountETH = _amountETH;
success = true;
}
catch
{
}
require(success == true, "REMOVE FAILED");
TransferHelper.safeTransferETH(msg.sender, amountETH);
TransferHelper.safeTransfer(address(jagerToken), msg.sender, amountToken);
}
function claim() external nonReentrant
{
updatePool();
queueRewards(msg.sender);
claimAccountReward(msg.sender);
}
function addLiquidity(uint256 tokenAmount) public payable nonReentrant
{
uint256 ethAmount = msg.value;
require(tokenAmount > 0 && ethAmount > 0, "NOT ENOUGH");
TransferHelper.safeTransferFrom(address(jagerToken), msg.sender, address(this), tokenAmount);
TransferHelper.safeApprove(address(jagerToken), address(jagerToken), tokenAmount);
uint256 amountToken;
uint256 amountETH;
uint256 liquidity;
bool success = false;
try jagerToken.addLiquidity{ value: ethAmount }(tokenAmount) returns (uint _amountToken, uint _amountETH, uint _liquidity)
{
amountToken = _amountToken;
amountETH = _amountETH;
liquidity = _liquidity;
success = true;
}
catch
{
}
require(success == true, "FAILED");
if(liquidity > 0)
depositLp(liquidity, msg.sender);
if(tokenAmount > amountToken)
TransferHelper.safeTransfer(address(jagerToken), msg.sender, tokenAmount - amountToken);
if(ethAmount > amountETH)
TransferHelper.safeTransferETH(msg.sender, ethAmount - amountETH);
}
function pendingReward(address account) external view returns(uint256)
{
uint256 currentMaxBlockNumber = endBlock > block.number ? block.number : endBlock;
uint256 accLPPerShare = poolInfo.accLPPerShare;
if (currentMaxBlockNumber > poolInfo.lastRewardBlock && poolInfo.totalAmount != 0)
{
uint256 jagerReward = (currentMaxBlockNumber - poolInfo.lastRewardBlock) * rewardPerBlock;
accLPPerShare = accLPPerShare + (jagerReward * 1e12 / poolInfo.totalAmount);
}
UserInfo memory user = userInfo[account];
uint256 reward = user.pending + (user.amount * accLPPerShare) / 1e12 - user.rewardDebt;
return reward;
}
function claimAccountReward(address account) private
{
uint256 pending = userInfo[account].pending;
if(pending > 0)
{
UserInfo storage user = userInfo[account];
user.pending = 0;
user.rewardDebt = (user.amount * poolInfo.accLPPerShare) / 1e12;
TransferHelper.safeTransfer(address(jagerToken), account, pending);
}
}
function queueRewards(address account) private
{
UserInfo storage user = userInfo[account];
uint256 pending = (user.amount * poolInfo.accLPPerShare) / 1e12 - user.rewardDebt;
if (pending > 0)
user.pending += pending;
}
receive() external payable {}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.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);
}// SPDX-License-Identifier: MIT
pragma solidity 0.8.21;
import { IERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol";
interface IJagerHunter is IERC20
{
function mainPair() external returns(address);
function addLiquidity(uint256 amount) external payable returns(uint amountToken,uint amountETH, uint liquidity);
function removeLiquidity(uint256 liquidity) external returns (uint amountToken, uint amountETH);
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (security/ReentrancyGuard.sol)
pragma solidity ^0.8.0;
/**
* @dev Contract module that helps prevent reentrant calls to a function.
*
* Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
* available, which can be applied to functions to make sure there are no nested
* (reentrant) calls to them.
*
* Note that because there is a single `nonReentrant` guard, functions marked as
* `nonReentrant` may not call one another. This can be worked around by making
* those functions `private`, and then adding `external` `nonReentrant` entry
* points to them.
*
* TIP: If you would like to learn more about reentrancy and alternative ways
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
*/
abstract contract ReentrancyGuard {
// Booleans are more expensive than uint256 or any type that takes up a full
// word because each write operation emits an extra SLOAD to first read the
// slot's contents, replace the bits taken up by the boolean, and then write
// back. This is the compiler's defense against contract upgrades and
// pointer aliasing, and it cannot be disabled.
// The values being non-zero value makes deployment a bit more expensive,
// but in exchange the refund on every call to nonReentrant will be lower in
// amount. Since refunds are capped to a percentage of the total
// transaction's gas, it is best to keep them low in cases like this one, to
// increase the likelihood of the full refund coming into effect.
uint256 private constant _NOT_ENTERED = 1;
uint256 private constant _ENTERED = 2;
uint256 private _status;
constructor() {
_status = _NOT_ENTERED;
}
/**
* @dev Prevents a contract from calling itself, directly or indirectly.
* Calling a `nonReentrant` function from another `nonReentrant`
* function is not supported. It is possible to prevent this from happening
* by making the `nonReentrant` function external, and making it call a
* `private` function that does the actual work.
*/
modifier nonReentrant() {
_nonReentrantBefore();
_;
_nonReentrantAfter();
}
function _nonReentrantBefore() private {
// On the first call to nonReentrant, _status will be _NOT_ENTERED
require(_status != _ENTERED, "ReentrancyGuard: reentrant call");
// Any calls to nonReentrant after this point will fail
_status = _ENTERED;
}
function _nonReentrantAfter() private {
// By storing the original value once again, a refund is triggered (see
// https://eips.ethereum.org/EIPS/eip-2200)
_status = _NOT_ENTERED;
}
/**
* @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
* `nonReentrant` function in the call stack.
*/
function _reentrancyGuardEntered() internal view returns (bool) {
return _status == _ENTERED;
}
}// SPDX-License-Identifier: GPL-2.0-or-later
pragma solidity >=0.6.0;
import '@openzeppelin/contracts/token/ERC20/IERC20.sol';
library TransferHelper {
/// @notice Transfers tokens from the targeted address to the given destination
/// @notice Errors with 'STF' if transfer fails
/// @param token The contract address of the token to be transferred
/// @param from The originating address from which the tokens will be transferred
/// @param to The destination address of the transfer
/// @param value The amount to be transferred
function safeTransferFrom(
address token,
address from,
address to,
uint256 value
) internal {
(bool success, bytes memory data) =
token.call(abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value));
require(success && (data.length == 0 || abi.decode(data, (bool))), 'STF');
}
/// @notice Transfers tokens from msg.sender to a recipient
/// @dev Errors with ST if transfer fails
/// @param token The contract address of the token which will be transferred
/// @param to The recipient of the transfer
/// @param value The value of the transfer
function safeTransfer(
address token,
address to,
uint256 value
) internal {
(bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.transfer.selector, to, value));
require(success && (data.length == 0 || abi.decode(data, (bool))), 'ST');
}
/// @notice Approves the stipulated contract to spend the given allowance in the given token
/// @dev Errors with 'SA' if transfer fails
/// @param token The contract address of the token to be approved
/// @param to The target of the approval
/// @param value The amount of the given token the target will be allowed to spend
function safeApprove(
address token,
address to,
uint256 value
) internal {
(bool success, bytes memory data) = token.call(abi.encodeWithSelector(IERC20.approve.selector, to, value));
require(success && (data.length == 0 || abi.decode(data, (bool))), 'SA');
}
/// @notice Transfers ETH to the recipient address
/// @dev Fails with `STE`
/// @param to The destination of the transfer
/// @param value The value to be transferred
function safeTransferETH(address to, uint256 value) internal {
(bool success, ) = to.call{value: value}(new bytes(0));
require(success, 'STE');
}
}{
"remappings": [
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
"erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
"forge-std/=lib/forge-std/src/",
"halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/",
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
"@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
"openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/",
"@uniswap/v2-core/=lib/v2-core/contracts/",
"@uniswap/v2-periphery/=lib/v2-periphery/contracts/",
"@uniswap/v3-core/=lib/v3-core/",
"@uniswap/v3-periphery/=lib/v3-periphery/contracts/",
"ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/",
"openzeppelin/=lib/openzeppelin-contracts/contracts/",
"v2-core/=lib/v2-core/contracts/",
"v2-periphery/=lib/v2-periphery/contracts/",
"v3-core/=lib/v3-core/",
"v3-periphery/=lib/v3-periphery/contracts/"
],
"optimizer": {
"enabled": false,
"runs": 200
},
"metadata": {
"useLiteralContent": false,
"bytecodeHash": "ipfs",
"appendCBOR": true
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"evmVersion": "shanghai",
"viaIR": false,
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"jager","type":"address"},{"internalType":"address","name":"airdropAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"LPToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"airdrop","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"endBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jagerToken","outputs":[{"internalType":"contract IJagerHunter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"pendingReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"poolInfo","outputs":[{"internalType":"uint256","name":"accLPPerShare","type":"uint256"},{"internalType":"uint256","name":"totalAmount","type":"uint256"},{"internalType":"uint256","name":"lastRewardBlock","type":"uint256"},{"internalType":"uint256","name":"totalReward","type":"uint256"},{"internalType":"uint256","name":"releaseReward","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"releaseBlockNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updatePool","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"rewardDebt","type":"uint256"},{"internalType":"uint256","name":"pending","type":"uint256"},{"internalType":"uint256","name":"lockEndedTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]Contract Creation Code
60e060405234801562000010575f80fd5b50604051620022e0380380620022e08339818101604052810190620000369190620001b8565b60015f819055508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505060a05173ffffffffffffffffffffffffffffffffffffffff166385af30c56040518163ffffffff1660e01b81526004016020604051808303815f875af1158015620000be573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620000e49190620001fd565b73ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff168152505050506200022d565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620001828262000157565b9050919050565b620001948162000176565b81146200019f575f80fd5b50565b5f81519050620001b28162000189565b92915050565b5f8060408385031215620001d157620001d062000153565b5b5f620001e085828601620001a2565b9250506020620001f385828601620001a2565b9150509250929050565b5f6020828403121562000215576200021462000153565b5b5f6200022484828501620001a2565b91505092915050565b60805160a05160c05161202d620002b35f395f81816106fc01526109c101525f81816105a2015281816105cc015281816106c5015281816107a8015281816107d4015281816107f5015281816108230152818161093401528181610a5201528181610af60152610f6501525f8181610392015281816105810152610b65015261202d5ff3fe6080604052600436106100f6575f3560e01c80635a2f3d09116100895780638ae39cac116100585780638ae39cac146102ec578063b6b55f2514610316578063e3161ddd1461033e578063f40f0f5214610354576100fd565b80635a2f3d091461024257806374de4ec41461027057806375f7e4301461029857806384f28ef4146102c2576100fd565b80632e1a7d4d116100c55780632e1a7d4d146101be5780633884d635146101e65780634e71d92d1461021057806351c6590a14610226576100fd565b8063011cee3614610101578063083c63231461012b5780630d668087146101555780631959a0021461017f576100fd565b366100fd57005b5f80fd5b34801561010c575f80fd5b50610115610390565b60405161012291906115cb565b60405180910390f35b348015610136575f80fd5b5061013f6103b4565b60405161014c91906115fc565b60405180910390f35b348015610160575f80fd5b506101696103ba565b60405161017691906115fc565b60405180910390f35b34801561018a575f80fd5b506101a560048036038101906101a09190611654565b6103c1565b6040516101b5949392919061167f565b60405180910390f35b3480156101c9575f80fd5b506101e460048036038101906101df91906116ec565b6103ed565b005b3480156101f1575f80fd5b506101fa6106fa565b6040516102079190611726565b60405180910390f35b34801561021b575f80fd5b5061022461071e565b005b610240600480360381019061023b91906116ec565b61074a565b005b34801561024d575f80fd5b50610256610994565b60405161026795949392919061173f565b60405180910390f35b34801561027b575f80fd5b50610296600480360381019061029191906116ec565b6109b7565b005b3480156102a3575f80fd5b506102ac610aed565b6040516102b991906115fc565b60405180910390f35b3480156102cd575f80fd5b506102d6610af4565b6040516102e391906117b0565b60405180910390f35b3480156102f7575f80fd5b50610300610b18565b60405161030d91906115fc565b60405180910390f35b348015610321575f80fd5b5061033c600480360381019061033791906116ec565b610b1e565b005b348015610349575f80fd5b50610352610b99565b005b34801561035f575f80fd5b5061037a60048036038101906103759190611654565b610c6c565b60405161038791906115fc565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000081565b60085481565b6212750081565b6007602052805f5260405f205f91509050805f0154908060010154908060020154908060030154905084565b6103f5610db6565b5f8111610437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042e90611823565b60405180910390fd5b5f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050428160030154106104bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b49061188b565b60405180910390fd5b81815f01541015610503576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fa906118f3565b60405180910390fd5b61050b610b99565b61051433610e03565b81815f015f828254610526919061193e565b9250508190555064e8d4a5100060025f0154825f01546105469190611971565b61055091906119df565b81600101819055508160026001015f82825461056c919061193e565b9250508190555061057c33610ea0565b6105c77f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084610f91565b5f80807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16639c8f9f23866040518263ffffffff1660e01b815260040161062391906115fc565b60408051808303815f875af192505050801561065d57506040513d601f19601f8201168201806040525081019061065a9190611a23565b60015b1561066f578193508092506001945050505b60011515831515146106b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ad90611aab565b60405180910390fd5b6106c033826110e0565b6106eb7f000000000000000000000000000000000000000000000000000000000000000033846111db565b505050506106f761132a565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b610726610db6565b61072e610b99565b61073733610e03565b61074033610ea0565b61074861132a565b565b610752610db6565b5f3490505f8211801561076457505f81115b6107a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079a90611b13565b60405180910390fd5b6107cf7f0000000000000000000000000000000000000000000000000000000000000000333085611333565b61081a7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084610f91565b5f805f805f90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166351c6590a86886040518363ffffffff1660e01b815260040161087b91906115fc565b60606040518083038185885af1935050505080156108b757506040513d601f19601f820116820180604052508101906108b49190611b31565b60015b156108cd57829650819550809450600193505050505b6001151581151514610914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090b90611bcb565b60405180910390fd5b5f821115610927576109268233611485565b5b83861115610966576109657f0000000000000000000000000000000000000000000000000000000000000000338689610960919061193e565b6111db565b5b828511156109845761098333848761097e919061193e565b6110e0565b5b505050505061099161132a565b50565b6002805f0154908060010154908060020154908060030154908060040154905085565b5f810315610aea577f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4490611c33565b60405180910390fd5b610a797f0000000000000000000000000000000000000000000000000000000000000000333084611333565b8060026003015f828254610a8d9190611c51565b92505081905550610a9c610b99565b5f43905062062700600260040154600260030154610aba919061193e565b610ac491906119df565b6001819055508060028001819055506206270081610ae29190611c51565b600881905550505b50565b6206270081565b7f000000000000000000000000000000000000000000000000000000000000000081565b60015481565b5f8111610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b57906118f3565b60405180910390fd5b610b8c7f0000000000000000000000000000000000000000000000000000000000000000333084611333565b610b968133611485565b50565b5f6001540315610c6a575f6002600101540315610c6a576002800154431115610c6a575f4360085411610bce57600854610bd0565b435b90506002800154811115610c57575f600154600280015483610bf2919061193e565b610bfc9190611971565b90508060026004015f828254610c129190611c51565b9250508190555060026001015464e8d4a5100082610c309190611971565b610c3a91906119df565b60025f0154610c499190611c51565b60025f018190555050610c5f565b5f6001819055505b436002800181905550505b565b5f804360085411610c7f57600854610c81565b435b90505f60025f01549050600280015482118015610ca357505f60026001015414155b15610cf8575f600154600280015484610cbc919061193e565b610cc69190611971565b905060026001015464e8d4a5100082610cdf9190611971565b610ce991906119df565b82610cf49190611c51565b9150505b5f60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060800160405290815f8201548152602001600182015481526020016002820154815260200160038201548152505090505f816020015164e8d4a5100084845f0151610d859190611971565b610d8f91906119df565b8360400151610d9e9190611c51565b610da8919061193e565b905080945050505050919050565b60025f5403610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190611cce565b60405180910390fd5b60025f81905550565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816001015464e8d4a5100060025f0154845f0154610e629190611971565b610e6c91906119df565b610e76919061193e565b90505f811115610e9b5780826002015f828254610e939190611c51565b925050819055505b505050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206002015490505f811115610f8d575f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816002018190555064e8d4a5100060025f0154825f0154610f4e9190611971565b610f5891906119df565b8160010181905550610f8b7f000000000000000000000000000000000000000000000000000000000000000084846111db565b505b5050565b5f808473ffffffffffffffffffffffffffffffffffffffff1663095ea7b360e01b8585604051602401610fc5929190611cec565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161102f9190611d7f565b5f604051808303815f865af19150503d805f8114611068576040519150601f19603f3d011682016040523d82523d5f602084013e61106d565b606091505b509150915081801561109a57505f815114806110995750808060200190518101906110989190611dca565b5b5b6110d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d090611e3f565b60405180910390fd5b5050505050565b5f8273ffffffffffffffffffffffffffffffffffffffff16825f67ffffffffffffffff81111561111357611112611e5d565b5b6040519080825280601f01601f1916602001820160405280156111455781602001600182028036833780820191505090505b506040516111539190611d7f565b5f6040518083038185875af1925050503d805f811461118d576040519150601f19603f3d011682016040523d82523d5f602084013e611192565b606091505b50509050806111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cd90611ed4565b60405180910390fd5b505050565b5f808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b858560405160240161120f929190611cec565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516112799190611d7f565b5f604051808303815f865af19150503d805f81146112b2576040519150601f19603f3d011682016040523d82523d5f602084013e6112b7565b606091505b50915091508180156112e457505f815114806112e35750808060200190518101906112e29190611dca565b5b5b611323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131a90611f3c565b60405180910390fd5b5050505050565b60015f81905550565b5f808573ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b86868660405160240161136993929190611f5a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516113d39190611d7f565b5f604051808303815f865af19150503d805f811461140c576040519150601f19603f3d011682016040523d82523d5f602084013e611411565b606091505b509150915081801561143e57505f8151148061143d57508080602001905181019061143c9190611dca565b5b5b61147d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147490611fd9565b60405180910390fd5b505050505050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090506114cd610b99565b6114d682610e03565b62127500426114e59190611c51565b816003018190555082815f015f8282546114ff9190611c51565b9250508190555064e8d4a5100060025f0154825f015461151f9190611971565b61152991906119df565b81600101819055508260026001015f8282546115459190611c51565b92505081905550505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61159361158e61158984611551565b611570565b611551565b9050919050565b5f6115a482611579565b9050919050565b5f6115b58261159a565b9050919050565b6115c5816115ab565b82525050565b5f6020820190506115de5f8301846115bc565b92915050565b5f819050919050565b6115f6816115e4565b82525050565b5f60208201905061160f5f8301846115ed565b92915050565b5f80fd5b5f61162382611551565b9050919050565b61163381611619565b811461163d575f80fd5b50565b5f8135905061164e8161162a565b92915050565b5f6020828403121561166957611668611615565b5b5f61167684828501611640565b91505092915050565b5f6080820190506116925f8301876115ed565b61169f60208301866115ed565b6116ac60408301856115ed565b6116b960608301846115ed565b95945050505050565b6116cb816115e4565b81146116d5575f80fd5b50565b5f813590506116e6816116c2565b92915050565b5f6020828403121561170157611700611615565b5b5f61170e848285016116d8565b91505092915050565b61172081611619565b82525050565b5f6020820190506117395f830184611717565b92915050565b5f60a0820190506117525f8301886115ed565b61175f60208301876115ed565b61176c60408301866115ed565b61177960608301856115ed565b61178660808301846115ed565b9695505050505050565b5f61179a8261159a565b9050919050565b6117aa81611790565b82525050565b5f6020820190506117c35f8301846117a1565b92915050565b5f82825260208201905092915050565b7f5a45524f000000000000000000000000000000000000000000000000000000005f82015250565b5f61180d6004836117c9565b9150611818826117d9565b602082019050919050565b5f6020820190508181035f83015261183a81611801565b9050919050565b7f5354494c4c204c4f434b454400000000000000000000000000000000000000005f82015250565b5f611875600c836117c9565b915061188082611841565b602082019050919050565b5f6020820190508181035f8301526118a281611869565b9050919050565b7f494e56414c494420414d4f554e540000000000000000000000000000000000005f82015250565b5f6118dd600e836117c9565b91506118e8826118a9565b602082019050919050565b5f6020820190508181035f83015261190a816118d1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611948826115e4565b9150611953836115e4565b925082820390508181111561196b5761196a611911565b5b92915050565b5f61197b826115e4565b9150611986836115e4565b9250828202611994816115e4565b915082820484148315176119ab576119aa611911565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6119e9826115e4565b91506119f4836115e4565b925082611a0457611a036119b2565b5b828204905092915050565b5f81519050611a1d816116c2565b92915050565b5f8060408385031215611a3957611a38611615565b5b5f611a4685828601611a0f565b9250506020611a5785828601611a0f565b9150509250929050565b7f52454d4f5645204641494c4544000000000000000000000000000000000000005f82015250565b5f611a95600d836117c9565b9150611aa082611a61565b602082019050919050565b5f6020820190508181035f830152611ac281611a89565b9050919050565b7f4e4f5420454e4f554748000000000000000000000000000000000000000000005f82015250565b5f611afd600a836117c9565b9150611b0882611ac9565b602082019050919050565b5f6020820190508181035f830152611b2a81611af1565b9050919050565b5f805f60608486031215611b4857611b47611615565b5b5f611b5586828701611a0f565b9350506020611b6686828701611a0f565b9250506040611b7786828701611a0f565b9150509250925092565b7f4641494c454400000000000000000000000000000000000000000000000000005f82015250565b5f611bb56006836117c9565b9150611bc082611b81565b602082019050919050565b5f6020820190508181035f830152611be281611ba9565b9050919050565b7f4e4f542041495244524f502041444452455353000000000000000000000000005f82015250565b5f611c1d6013836117c9565b9150611c2882611be9565b602082019050919050565b5f6020820190508181035f830152611c4a81611c11565b9050919050565b5f611c5b826115e4565b9150611c66836115e4565b9250828201905080821115611c7e57611c7d611911565b5b92915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f611cb8601f836117c9565b9150611cc382611c84565b602082019050919050565b5f6020820190508181035f830152611ce581611cac565b9050919050565b5f604082019050611cff5f830185611717565b611d0c60208301846115ed565b9392505050565b5f81519050919050565b5f81905092915050565b5f5b83811015611d44578082015181840152602081019050611d29565b5f8484015250505050565b5f611d5982611d13565b611d638185611d1d565b9350611d73818560208601611d27565b80840191505092915050565b5f611d8a8284611d4f565b915081905092915050565b5f8115159050919050565b611da981611d95565b8114611db3575f80fd5b50565b5f81519050611dc481611da0565b92915050565b5f60208284031215611ddf57611dde611615565b5b5f611dec84828501611db6565b91505092915050565b7f53410000000000000000000000000000000000000000000000000000000000005f82015250565b5f611e296002836117c9565b9150611e3482611df5565b602082019050919050565b5f6020820190508181035f830152611e5681611e1d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f53544500000000000000000000000000000000000000000000000000000000005f82015250565b5f611ebe6003836117c9565b9150611ec982611e8a565b602082019050919050565b5f6020820190508181035f830152611eeb81611eb2565b9050919050565b7f53540000000000000000000000000000000000000000000000000000000000005f82015250565b5f611f266002836117c9565b9150611f3182611ef2565b602082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b5f606082019050611f6d5f830186611717565b611f7a6020830185611717565b611f8760408301846115ed565b949350505050565b7f53544600000000000000000000000000000000000000000000000000000000005f82015250565b5f611fc36003836117c9565b9150611fce82611f8f565b602082019050919050565b5f6020820190508181035f830152611ff081611fb7565b905091905056fea26469706673582212200100b4f6afb1407ab68f651c49bba4e99f336bc1c2f0684b6597bc85e5c079df64736f6c6343000815003300000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e9000000000000000000000000df6dbd6d4069bf0c9450538238a9643c72e4a6e4
Deployed Bytecode
0x6080604052600436106100f6575f3560e01c80635a2f3d09116100895780638ae39cac116100585780638ae39cac146102ec578063b6b55f2514610316578063e3161ddd1461033e578063f40f0f5214610354576100fd565b80635a2f3d091461024257806374de4ec41461027057806375f7e4301461029857806384f28ef4146102c2576100fd565b80632e1a7d4d116100c55780632e1a7d4d146101be5780633884d635146101e65780634e71d92d1461021057806351c6590a14610226576100fd565b8063011cee3614610101578063083c63231461012b5780630d668087146101555780631959a0021461017f576100fd565b366100fd57005b5f80fd5b34801561010c575f80fd5b50610115610390565b60405161012291906115cb565b60405180910390f35b348015610136575f80fd5b5061013f6103b4565b60405161014c91906115fc565b60405180910390f35b348015610160575f80fd5b506101696103ba565b60405161017691906115fc565b60405180910390f35b34801561018a575f80fd5b506101a560048036038101906101a09190611654565b6103c1565b6040516101b5949392919061167f565b60405180910390f35b3480156101c9575f80fd5b506101e460048036038101906101df91906116ec565b6103ed565b005b3480156101f1575f80fd5b506101fa6106fa565b6040516102079190611726565b60405180910390f35b34801561021b575f80fd5b5061022461071e565b005b610240600480360381019061023b91906116ec565b61074a565b005b34801561024d575f80fd5b50610256610994565b60405161026795949392919061173f565b60405180910390f35b34801561027b575f80fd5b50610296600480360381019061029191906116ec565b6109b7565b005b3480156102a3575f80fd5b506102ac610aed565b6040516102b991906115fc565b60405180910390f35b3480156102cd575f80fd5b506102d6610af4565b6040516102e391906117b0565b60405180910390f35b3480156102f7575f80fd5b50610300610b18565b60405161030d91906115fc565b60405180910390f35b348015610321575f80fd5b5061033c600480360381019061033791906116ec565b610b1e565b005b348015610349575f80fd5b50610352610b99565b005b34801561035f575f80fd5b5061037a60048036038101906103759190611654565b610c6c565b60405161038791906115fc565b60405180910390f35b7f000000000000000000000000589e1c953bcb822a2094fd8c7cbbd84a7762fb0481565b60085481565b6212750081565b6007602052805f5260405f205f91509050805f0154908060010154908060020154908060030154905084565b6103f5610db6565b5f8111610437576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042e90611823565b60405180910390fd5b5f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050428160030154106104bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b49061188b565b60405180910390fd5b81815f01541015610503576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fa906118f3565b60405180910390fd5b61050b610b99565b61051433610e03565b81815f015f828254610526919061193e565b9250508190555064e8d4a5100060025f0154825f01546105469190611971565b61055091906119df565b81600101819055508160026001015f82825461056c919061193e565b9250508190555061057c33610ea0565b6105c77f000000000000000000000000589e1c953bcb822a2094fd8c7cbbd84a7762fb047f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e984610f91565b5f80807f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e973ffffffffffffffffffffffffffffffffffffffff16639c8f9f23866040518263ffffffff1660e01b815260040161062391906115fc565b60408051808303815f875af192505050801561065d57506040513d601f19601f8201168201806040525081019061065a9190611a23565b60015b1561066f578193508092506001945050505b60011515831515146106b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ad90611aab565b60405180910390fd5b6106c033826110e0565b6106eb7f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e933846111db565b505050506106f761132a565b50565b7f000000000000000000000000df6dbd6d4069bf0c9450538238a9643c72e4a6e481565b610726610db6565b61072e610b99565b61073733610e03565b61074033610ea0565b61074861132a565b565b610752610db6565b5f3490505f8211801561076457505f81115b6107a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079a90611b13565b60405180910390fd5b6107cf7f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e9333085611333565b61081a7f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e97f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e984610f91565b5f805f805f90507f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e973ffffffffffffffffffffffffffffffffffffffff166351c6590a86886040518363ffffffff1660e01b815260040161087b91906115fc565b60606040518083038185885af1935050505080156108b757506040513d601f19601f820116820180604052508101906108b49190611b31565b60015b156108cd57829650819550809450600193505050505b6001151581151514610914576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161090b90611bcb565b60405180910390fd5b5f821115610927576109268233611485565b5b83861115610966576109657f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e9338689610960919061193e565b6111db565b5b828511156109845761098333848761097e919061193e565b6110e0565b5b505050505061099161132a565b50565b6002805f0154908060010154908060020154908060030154908060040154905085565b5f810315610aea577f000000000000000000000000df6dbd6d4069bf0c9450538238a9643c72e4a6e473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a4d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4490611c33565b60405180910390fd5b610a797f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e9333084611333565b8060026003015f828254610a8d9190611c51565b92505081905550610a9c610b99565b5f43905062062700600260040154600260030154610aba919061193e565b610ac491906119df565b6001819055508060028001819055506206270081610ae29190611c51565b600881905550505b50565b6206270081565b7f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e981565b60015481565b5f8111610b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b57906118f3565b60405180910390fd5b610b8c7f000000000000000000000000589e1c953bcb822a2094fd8c7cbbd84a7762fb04333084611333565b610b968133611485565b50565b5f6001540315610c6a575f6002600101540315610c6a576002800154431115610c6a575f4360085411610bce57600854610bd0565b435b90506002800154811115610c57575f600154600280015483610bf2919061193e565b610bfc9190611971565b90508060026004015f828254610c129190611c51565b9250508190555060026001015464e8d4a5100082610c309190611971565b610c3a91906119df565b60025f0154610c499190611c51565b60025f018190555050610c5f565b5f6001819055505b436002800181905550505b565b5f804360085411610c7f57600854610c81565b435b90505f60025f01549050600280015482118015610ca357505f60026001015414155b15610cf8575f600154600280015484610cbc919061193e565b610cc69190611971565b905060026001015464e8d4a5100082610cdf9190611971565b610ce991906119df565b82610cf49190611c51565b9150505b5f60075f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060800160405290815f8201548152602001600182015481526020016002820154815260200160038201548152505090505f816020015164e8d4a5100084845f0151610d859190611971565b610d8f91906119df565b8360400151610d9e9190611c51565b610da8919061193e565b905080945050505050919050565b60025f5403610dfa576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610df190611cce565b60405180910390fd5b60025f81905550565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816001015464e8d4a5100060025f0154845f0154610e629190611971565b610e6c91906119df565b610e76919061193e565b90505f811115610e9b5780826002015f828254610e939190611c51565b925050819055505b505050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206002015490505f811115610f8d575f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090505f816002018190555064e8d4a5100060025f0154825f0154610f4e9190611971565b610f5891906119df565b8160010181905550610f8b7f00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e984846111db565b505b5050565b5f808473ffffffffffffffffffffffffffffffffffffffff1663095ea7b360e01b8585604051602401610fc5929190611cec565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505060405161102f9190611d7f565b5f604051808303815f865af19150503d805f8114611068576040519150601f19603f3d011682016040523d82523d5f602084013e61106d565b606091505b509150915081801561109a57505f815114806110995750808060200190518101906110989190611dca565b5b5b6110d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d090611e3f565b60405180910390fd5b5050505050565b5f8273ffffffffffffffffffffffffffffffffffffffff16825f67ffffffffffffffff81111561111357611112611e5d565b5b6040519080825280601f01601f1916602001820160405280156111455781602001600182028036833780820191505090505b506040516111539190611d7f565b5f6040518083038185875af1925050503d805f811461118d576040519150601f19603f3d011682016040523d82523d5f602084013e611192565b606091505b50509050806111d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cd90611ed4565b60405180910390fd5b505050565b5f808473ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60e01b858560405160240161120f929190611cec565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516112799190611d7f565b5f604051808303815f865af19150503d805f81146112b2576040519150601f19603f3d011682016040523d82523d5f602084013e6112b7565b606091505b50915091508180156112e457505f815114806112e35750808060200190518101906112e29190611dca565b5b5b611323576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131a90611f3c565b60405180910390fd5b5050505050565b60015f81905550565b5f808573ffffffffffffffffffffffffffffffffffffffff166323b872dd60e01b86868660405160240161136993929190611f5a565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040516113d39190611d7f565b5f604051808303815f865af19150503d805f811461140c576040519150601f19603f3d011682016040523d82523d5f602084013e611411565b606091505b509150915081801561143e57505f8151148061143d57508080602001905181019061143c9190611dca565b5b5b61147d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147490611fd9565b60405180910390fd5b505050505050565b5f60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2090506114cd610b99565b6114d682610e03565b62127500426114e59190611c51565b816003018190555082815f015f8282546114ff9190611c51565b9250508190555064e8d4a5100060025f0154825f015461151f9190611971565b61152991906119df565b81600101819055508260026001015f8282546115459190611c51565b92505081905550505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61159361158e61158984611551565b611570565b611551565b9050919050565b5f6115a482611579565b9050919050565b5f6115b58261159a565b9050919050565b6115c5816115ab565b82525050565b5f6020820190506115de5f8301846115bc565b92915050565b5f819050919050565b6115f6816115e4565b82525050565b5f60208201905061160f5f8301846115ed565b92915050565b5f80fd5b5f61162382611551565b9050919050565b61163381611619565b811461163d575f80fd5b50565b5f8135905061164e8161162a565b92915050565b5f6020828403121561166957611668611615565b5b5f61167684828501611640565b91505092915050565b5f6080820190506116925f8301876115ed565b61169f60208301866115ed565b6116ac60408301856115ed565b6116b960608301846115ed565b95945050505050565b6116cb816115e4565b81146116d5575f80fd5b50565b5f813590506116e6816116c2565b92915050565b5f6020828403121561170157611700611615565b5b5f61170e848285016116d8565b91505092915050565b61172081611619565b82525050565b5f6020820190506117395f830184611717565b92915050565b5f60a0820190506117525f8301886115ed565b61175f60208301876115ed565b61176c60408301866115ed565b61177960608301856115ed565b61178660808301846115ed565b9695505050505050565b5f61179a8261159a565b9050919050565b6117aa81611790565b82525050565b5f6020820190506117c35f8301846117a1565b92915050565b5f82825260208201905092915050565b7f5a45524f000000000000000000000000000000000000000000000000000000005f82015250565b5f61180d6004836117c9565b9150611818826117d9565b602082019050919050565b5f6020820190508181035f83015261183a81611801565b9050919050565b7f5354494c4c204c4f434b454400000000000000000000000000000000000000005f82015250565b5f611875600c836117c9565b915061188082611841565b602082019050919050565b5f6020820190508181035f8301526118a281611869565b9050919050565b7f494e56414c494420414d4f554e540000000000000000000000000000000000005f82015250565b5f6118dd600e836117c9565b91506118e8826118a9565b602082019050919050565b5f6020820190508181035f83015261190a816118d1565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611948826115e4565b9150611953836115e4565b925082820390508181111561196b5761196a611911565b5b92915050565b5f61197b826115e4565b9150611986836115e4565b9250828202611994816115e4565b915082820484148315176119ab576119aa611911565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6119e9826115e4565b91506119f4836115e4565b925082611a0457611a036119b2565b5b828204905092915050565b5f81519050611a1d816116c2565b92915050565b5f8060408385031215611a3957611a38611615565b5b5f611a4685828601611a0f565b9250506020611a5785828601611a0f565b9150509250929050565b7f52454d4f5645204641494c4544000000000000000000000000000000000000005f82015250565b5f611a95600d836117c9565b9150611aa082611a61565b602082019050919050565b5f6020820190508181035f830152611ac281611a89565b9050919050565b7f4e4f5420454e4f554748000000000000000000000000000000000000000000005f82015250565b5f611afd600a836117c9565b9150611b0882611ac9565b602082019050919050565b5f6020820190508181035f830152611b2a81611af1565b9050919050565b5f805f60608486031215611b4857611b47611615565b5b5f611b5586828701611a0f565b9350506020611b6686828701611a0f565b9250506040611b7786828701611a0f565b9150509250925092565b7f4641494c454400000000000000000000000000000000000000000000000000005f82015250565b5f611bb56006836117c9565b9150611bc082611b81565b602082019050919050565b5f6020820190508181035f830152611be281611ba9565b9050919050565b7f4e4f542041495244524f502041444452455353000000000000000000000000005f82015250565b5f611c1d6013836117c9565b9150611c2882611be9565b602082019050919050565b5f6020820190508181035f830152611c4a81611c11565b9050919050565b5f611c5b826115e4565b9150611c66836115e4565b9250828201905080821115611c7e57611c7d611911565b5b92915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c005f82015250565b5f611cb8601f836117c9565b9150611cc382611c84565b602082019050919050565b5f6020820190508181035f830152611ce581611cac565b9050919050565b5f604082019050611cff5f830185611717565b611d0c60208301846115ed565b9392505050565b5f81519050919050565b5f81905092915050565b5f5b83811015611d44578082015181840152602081019050611d29565b5f8484015250505050565b5f611d5982611d13565b611d638185611d1d565b9350611d73818560208601611d27565b80840191505092915050565b5f611d8a8284611d4f565b915081905092915050565b5f8115159050919050565b611da981611d95565b8114611db3575f80fd5b50565b5f81519050611dc481611da0565b92915050565b5f60208284031215611ddf57611dde611615565b5b5f611dec84828501611db6565b91505092915050565b7f53410000000000000000000000000000000000000000000000000000000000005f82015250565b5f611e296002836117c9565b9150611e3482611df5565b602082019050919050565b5f6020820190508181035f830152611e5681611e1d565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f53544500000000000000000000000000000000000000000000000000000000005f82015250565b5f611ebe6003836117c9565b9150611ec982611e8a565b602082019050919050565b5f6020820190508181035f830152611eeb81611eb2565b9050919050565b7f53540000000000000000000000000000000000000000000000000000000000005f82015250565b5f611f266002836117c9565b9150611f3182611ef2565b602082019050919050565b5f6020820190508181035f830152611f5381611f1a565b9050919050565b5f606082019050611f6d5f830186611717565b611f7a6020830185611717565b611f8760408301846115ed565b949350505050565b7f53544600000000000000000000000000000000000000000000000000000000005f82015250565b5f611fc36003836117c9565b9150611fce82611f8f565b602082019050919050565b5f6020820190508181035f830152611ff081611fb7565b905091905056fea26469706673582212200100b4f6afb1407ab68f651c49bba4e99f336bc1c2f0684b6597bc85e5c079df64736f6c63430008150033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e9000000000000000000000000df6dbd6d4069bf0c9450538238a9643c72e4a6e4
-----Decoded View---------------
Arg [0] : jager (address): 0x74836cC0E821A6bE18e407E6388E430B689C66e9
Arg [1] : airdropAddress (address): 0xDF6dbd6d4069bF0c9450538238A9643C72E4a6E4
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000074836cc0e821a6be18e407e6388e430b689c66e9
Arg [1] : 000000000000000000000000df6dbd6d4069bf0c9450538238a9643c72e4a6e4
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in BNB
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.