Transaction Hash:
Block:
15283000 at Aug-05-2022 02:56:52 PM +UTC
Transaction Fee:
0.0080278893 ETH
$20.39
Gas Used:
283,671 Gas / 28.3 Gwei
Emitted Events:
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x1d3D083d...03886DD94 |
1.010622310045459739 Eth
Nonce: 64
|
1.002594420745459739 Eth
Nonce: 65
| 0.0080278893 | ||
0x5660c518...EB7935d1E | |||||
0x94235659...Dbb17C8d7 | (Shiba Inu: Migrator) | ||||
0x9813037e...6778218d9 | |||||
0xa404F66B...B239bcdc7 | (ShibaSwap: Bone Locker) | ||||
0xCD458d7F...38Cb8Df9c
Miner
| (Poolin 4) | 724.367877094476547745 Eth | 724.372498744780932725 Eth | 0.00462165030438498 |
Execution Trace
TopDog.withdraw( _pid=23, _amount=21231660893875562966613 )
-
UniswapV2Pair.balanceOf( 0x94235659cF8b805B2c658f9ea2D6d6DDbb17C8d7 ) => ( 24566611523553911900194117 )
-
BoneToken.mint( _to=0x44c652d679D99BB406167dE9651d2535850FB479, _amount=1061644519932061144 )
-
BoneToken.mint( _to=0x34AD2D8a212cb7d6909D9B523bb5847Aa236CB25, _amount=106164451993206114 )
-
BoneToken.mint( _to=0x526684cde5E9ed50703469E1e21e388aD084e0f8, _amount=318493355979618343 )
-
BoneToken.mint( _to=0x68d494e06f70D1DD13f9fAaCd122799D4044412b, _amount=106164451993206114 )
-
BoneToken.mint( _to=0x94235659cF8b805B2c658f9ea2D6d6DDbb17C8d7, _amount=10616445199320611449 )
-
BoneToken.balanceOf( account=0x94235659cF8b805B2c658f9ea2D6d6DDbb17C8d7 ) => ( 10624432690952127607008516 )
-
BoneToken.transfer( recipient=0x1d3D083dbEDbC1f3741ed8301fA601f03886DD94, amount=17773621217834005 ) => ( True )
-
BoneToken.balanceOf( account=0x94235659cF8b805B2c658f9ea2D6d6DDbb17C8d7 ) => ( 10624432673178506389174511 )
-
BoneToken.transfer( recipient=0xa404F66B9278c4aB8428225014266B4B239bcdc7, amount=36085837018026617 ) => ( True )
-
BoneLocker.lock( _holder=0x1d3D083dbEDbC1f3741ed8301fA601f03886DD94, _amount=36085837018026617, _isDev=False )
-
UniswapV2Pair.transfer( to=0x1d3D083dbEDbC1f3741ed8301fA601f03886DD94, value=21231660893875562966613 ) => ( True )
withdraw[TopDog (ln:266)]
updatePool[TopDog (ln:270)]
balanceOf[TopDog (ln:221)]
getMultiplier[TopDog (ln:226)]
div[TopDog (ln:227)]
mul[TopDog (ln:227)]
mul[TopDog (ln:227)]
div[TopDog (ln:228)]
mul[TopDog (ln:228)]
mint[TopDog (ln:229)]
div[TopDog (ln:229)]
mul[TopDog (ln:229)]
mint[TopDog (ln:231)]
sub[TopDog (ln:231)]
div[TopDog (ln:231)]
mul[TopDog (ln:231)]
lock[TopDog (ln:232)]
sub[TopDog (ln:232)]
div[TopDog (ln:232)]
mul[TopDog (ln:232)]
mint[TopDog (ln:234)]
div[TopDog (ln:234)]
mul[TopDog (ln:234)]
mint[TopDog (ln:235)]
div[TopDog (ln:235)]
mul[TopDog (ln:235)]
mint[TopDog (ln:236)]
div[TopDog (ln:236)]
mul[TopDog (ln:236)]
mint[TopDog (ln:237)]
add[TopDog (ln:238)]
div[TopDog (ln:238)]
mul[TopDog (ln:238)]
sub[TopDog (ln:271)]
div[TopDog (ln:271)]
mul[TopDog (ln:271)]
div[TopDog (ln:273)]
mul[TopDog (ln:273)]
safeBoneTransfer[TopDog (ln:274)]
balanceOf[TopDog (ln:299)]
transfer[TopDog (ln:301)]
transfer[TopDog (ln:303)]
safeBoneTransfer[TopDog (ln:276)]
balanceOf[TopDog (ln:299)]
transfer[TopDog (ln:301)]
transfer[TopDog (ln:303)]
sub[TopDog (ln:276)]
lock[TopDog (ln:277)]
sub[TopDog (ln:277)]
sub[TopDog (ln:281)]
safeTransfer[TopDog (ln:282)]
div[TopDog (ln:284)]
mul[TopDog (ln:284)]
Withdraw[TopDog (ln:285)]
File 1 of 8: TopDog
File 2 of 8: DevBoneDistributor
File 3 of 8: BoneToken
File 4 of 8: tBoneBoneDistributor
File 5 of 8: xShibBoneDistributor
File 6 of 8: xLeashBoneDistributor
File 7 of 8: BoneLocker
File 8 of 8: UniswapV2Pair
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";import "@openzeppelin/contracts/utils/EnumerableSet.sol";import "@openzeppelin/contracts/math/SafeMath.sol";import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";import "./BoneToken.sol";import "./BoneLocker.sol";interface IMigratorShib {// Perform LP token migration from legacy UniswapV2 to ShibaSwap.// Take the current LP token address and return the new LP token address.// Migrator should have full access to the caller's LP token.// Return the new LP token address.//
File 2 of 8: DevBoneDistributor
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/math/SafeMath.sol";import "@openzeppelin/contracts/access/Ownable.sol";import "./BoneLocker.sol";contract DevBoneDistributor is Ownable {using SafeMath for uint256;IERC20 public bone;BoneLocker public boneLocker;address public devWallet;address public marketingAndGrowthWallet;uint256 public devSharePercent;uint256 public marketingAndGrowthSharePercent;event WalletUpdated(string wallet, address indexed user, address newAddr);event DistributionUpdated(uint devSharePercent, uint marketingAndGrowthSharePercent);
File 3 of 8: BoneToken
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "@openzeppelin/contracts/token/ERC20/ERC20.sol";import "@openzeppelin/contracts/access/Ownable.sol";// BoneToken with Governance.contract BoneToken is ERC20("BONE SHIBASWAP", "BONE"), Ownable {/// @notice Creates `_amount` token to `_to`. Must only be called by the owner (TopDog).function mint(address _to, uint256 _amount) public onlyOwner {_mint(_to, _amount);_moveDelegates(address(0), _delegates[_to], _amount);}function _transfer(address sender, address recipient, uint256 amount) internal override {super._transfer(sender, recipient, amount);_moveDelegates(_delegates[sender], _delegates[recipient], amount);}// Copied and modified from YAM code:
File 4 of 8: tBoneBoneDistributor
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./BasicBoneDistributor.sol";contract tBoneBoneDistributor is BasicBoneDistributor {constructor (IERC20 _bone) BasicBoneDistributor(_bone) public {}}// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "@openzeppelin/contracts/math/SafeMath.sol";import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/access/Ownable.sol";abstract contract BasicBoneDistributor is Ownable {using SafeMath for uint256;IERC20 public bone;bytes4 private constant SELECTOR = bytes4(keccak256(bytes('receiveApproval(address,uint256,address,uint256)')));uint public lockPercentage = 67;constructor (IERC20 _bone) public {
File 5 of 8: xShibBoneDistributor
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./BasicBoneDistributor.sol";contract xShibBoneDistributor is BasicBoneDistributor {constructor (IERC20 _bone) BasicBoneDistributor(_bone) public {}}// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "@openzeppelin/contracts/math/SafeMath.sol";import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/access/Ownable.sol";abstract contract BasicBoneDistributor is Ownable {using SafeMath for uint256;IERC20 public bone;bytes4 private constant SELECTOR = bytes4(keccak256(bytes('receiveApproval(address,uint256,address,uint256)')));uint public lockPercentage = 67;constructor (IERC20 _bone) public {
File 6 of 8: xLeashBoneDistributor
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "./BasicBoneDistributor.sol";contract xLeashBoneDistributor is BasicBoneDistributor {constructor (IERC20 _bone) BasicBoneDistributor(_bone) public {}}// SPDX-License-Identifier: MITpragma solidity 0.6.12;import "@openzeppelin/contracts/math/SafeMath.sol";import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/access/Ownable.sol";abstract contract BasicBoneDistributor is Ownable {using SafeMath for uint256;IERC20 public bone;bytes4 private constant SELECTOR = bytes4(keccak256(bytes('receiveApproval(address,uint256,address,uint256)')));uint public lockPercentage = 67;constructor (IERC20 _bone) public {
File 7 of 8: BoneLocker
12345678910111213141516// SPDX-License-Identifier: UNLICENSEDpragma solidity 0.6.12;import "@openzeppelin/contracts/access/Ownable.sol";import "@openzeppelin/contracts/token/ERC20/IERC20.sol";import "@openzeppelin/contracts/math/SafeMath.sol";// BoneToken locker contract.contract BoneLocker is Ownable {using SafeMath for uint256;IERC20 boneToken;address emergencyAddress;bool emergencyFlag = false;struct LockInfo{uint256 _amount;uint256 _timestamp;bool _isDev;}
File 8 of 8: UniswapV2Pair
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity =0.6.12;import './UniswapV2ERC20.sol';import './libraries/Math.sol';import './libraries/UQ112x112.sol';import './interfaces/IERC20.sol';import './interfaces/IUniswapV2Factory.sol';import './interfaces/IUniswapV2Callee.sol';interface IMigrator {// Return the desired amount of liquidity token that the migrator wants.function desiredLiquidity() external view returns (uint256);}contract UniswapV2Pair is UniswapV2ERC20 {using SafeMathUniswap for uint;using UQ112x112 for uint224;uint public constant MINIMUM_LIQUIDITY = 10**3;