Transaction Hash:
Block:
18668088 at Nov-28-2023 05:37:35 AM +UTC
Transaction Fee:
0.00992288101726348 ETH
$27.91
Gas Used:
304,708 Gas / 32.56521331 Gwei
Emitted Events:
174 |
GROK.Transfer( from=[Sender] 0x85eadf65f71dcb4356ebc64423236ec2aeab36f9, to=BKSwap, value=15964856679170 )
|
175 |
GROK.Approval( owner=[Sender] 0x85eadf65f71dcb4356ebc64423236ec2aeab36f9, spender=[Receiver] BKSwapRouter, value=115792089237316195423570985008687907853269984665640564039457583991948272960765 )
|
176 |
GROK.Approval( owner=BKSwap, spender=OdosRouterV2, value=115792089237316195423570985008687907853269984665640564039457584007913129639935 )
|
177 |
GROK.Transfer( from=BKSwap, to=UniswapV2Pair, value=15964856679170 )
|
178 |
GROK.Approval( owner=BKSwap, spender=OdosRouterV2, value=115792089237316195423570985008687907853269984665640564039457583991948272960765 )
|
179 |
WETH9.Transfer( src=UniswapV2Pair, dst=0x7D2b63A9ab475397d9c247468803F25Cf6523B76, wad=232060430624497156 )
|
180 |
UniswapV2Pair.Sync( reserve0=55860406580411538, reserve1=814180815757453584001 )
|
181 |
UniswapV2Pair.Swap( sender=0x7D2b63A9ab475397d9c247468803F25Cf6523B76, amount0In=15964856679170, amount1In=0, amount0Out=0, amount1Out=232060430624497156, to=0x7D2b63A9ab475397d9c247468803F25Cf6523B76 )
|
182 |
WETH9.Withdrawal( src=0x7D2b63A9ab475397d9c247468803F25Cf6523B76, wad=232060430624497156 )
|
183 |
OdosRouterV2.Swap( sender=BKSwap, inputAmount=15964856679170, inputToken=GROK, amountOut=231097647768243712, outputToken=0x00000000...000000000, slippage=962782856253444, referralCode=0 )
|
184 |
BKSwap.0xa3a0edf0526ed08d875540e19888f79e48c7fd86b501e3145a99f2f3e56e0c03( 0xa3a0edf0526ed08d875540e19888f79e48c7fd86b501e3145a99f2f3e56e0c03, 0x0000000000000000000000000000000000000000000000000000000000000002, 0x00000000000000000000000085eadf65f71dcb4356ebc64423236ec2aeab36f9, 0000000000000000000000000000000000000000000000000002768bd79c681b, 0000000000000000000000000000000000000000000000000000000000000060, 00000000000000000000000000000000000000000000000000000000000000a0, 0000000000000000000000000000000000000000000000000000000000000020, 4269744b65657020534f523a204167677265676174696f6e2046656174757265, 0000000000000000000000000000000000000000000000000000000000000003, 312e300000000000000000000000000000000000000000000000000000000000 )
|
185 |
BKSwap.0x65015729990773c576a3b60dabbbebc51d01eae66dea69e06f4b79f345cf5b72( 0x65015729990773c576a3b60dabbbebc51d01eae66dea69e06f4b79f345cf5b72, 00000000000000000000000000000000000000000000000000000000000000e0, 0000000000000000000000000000000000000000000000000000000000000001, 000000000000000000000000d1ca1f4dbb645710f5d5a9917aa984a47524f49a, 00000000000000000000000085eadf65f71dcb4356ebc64423236ec2aeab36f9, 0000000000000000000000008390a1da07e376ef7add4be859ba74fb83aa02d5, 0000000000000000000000000000000000000000000000000000000000000000, 00000000000000000000000000000000000000000000000003328f8a3c0b25e5, 0000000000000000000000000000000000000000000000000000000000000020, 6e4a045d23c3dfd10f8a55619596aebbc2d0e9ac82f5a7ddc78ec4da86c21018 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x1f9090aa...8e676c326
Miner
| 2.085739289920668035 Eth | 2.086196351920668035 Eth | 0.000457062 | ||
0x69c66BeA...93b8d82a2 | |||||
0x8390a1DA...b83aA02D5 | |||||
0x85eADF65...2AEaB36f9 |
0.02902800833232977 Eth
Nonce: 297
|
0.249509482140005271 Eth
Nonce: 298
| 0.220481473807675501 | ||
0x92c2eA2F...f1D4162fb | 45.034636301842170492 Eth | 45.035329594785475223 Eth | 0.000693292943304731 | ||
0xC02aaA39...83C756Cc2 | 3,079,385.46585071248950543 Eth | 3,079,385.233790281865008274 Eth | 0.232060430624497156 | ||
0xCf5540fF...7b0772559 | (Odos: Router V2) | 1.256852235985432363 Eth | 1.257815018841685807 Eth | 0.000962782856253444 |
Execution Trace
BKSwapRouter.swap( swapParams=[{name:fromTokenAddress, type:address, order:1, indexed:false, value:0x8390a1DA07E376ef7aDd4Be859BA74Fb83aA02D5, valueString:0x8390a1DA07E376ef7aDd4Be859BA74Fb83aA02D5}, {name:amountInTotal, type:uint256, order:2, indexed:false, value:15964856679170, valueString:15964856679170}, {name:data, type:bytes, order:3, indexed:false, value:0x6A2B69F00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008390A1DA07E376EF7ADD4BE859BA74FB83AA02D5000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE00000000000000000000000000000000000000000000000000000E851B9C7B0200000000000000000000000000000000000000000000000000000E851B9C7B0200000000000000000000000085EADF65F71DCB4356EBC64423236EC2AEAB36F900000000000000000000000000000000000000000000000003287ED6DAE1C463EADDD3C0375CA71EA17E7F531249173C8051F377474A10984E1493CF042FB1790000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004138CA8146B665FD37B85B8368268B5FB8277F3E246F2034E8BB3DF94F1057CB796DF9B65BD632032D452A8F1CB7DADDE977BA34C22CE1D7BAD8F314212EA442111B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000CF5540FFFCDC3D510B18BFCA6D2B9987B0772559000000000000000000000000CF5540FFFCDC3D510B18BFCA6D2B9987B0772559000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000D683BD37F900018390A1DA07E376EF7ADD4BE859BA74FB83AA02D50000060E851B9C7B02080335061613A78E00028F5C00017D2B63A9AB475397D9C247468803F25CF6523B76000169C66BEAFB06674DB41B22CFC50C34A93B8D82A200012F2DD99235CB728FC79AF575F1325EAA270F0C99000000000301020300030100000102011E020600000001FF0000000000000000000000000069C66BEAFB06674DB41B22CFC50C34A93B8D82A28390A1DA07E376EF7ADD4BE859BA74FB83AA02D50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085EADF65F71DCB4356EBC64423236EC2AEAB36F900000000000000000000000000000000000000000000000000000000000000206E4A045D23C3DFD10F8A55619596AEBBC2D0E9AC82F5A7DDC78EC4DA86C21018, valueString:0x6A2B69F00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000380000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000020000000000000000000000008390A1DA07E376EF7ADD4BE859BA74FB83AA02D5000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE00000000000000000000000000000000000000000000000000000E851B9C7B0200000000000000000000000000000000000000000000000000000E851B9C7B0200000000000000000000000085EADF65F71DCB4356EBC64423236EC2AEAB36F900000000000000000000000000000000000000000000000003287ED6DAE1C463EADDD3C0375CA71EA17E7F531249173C8051F377474A10984E1493CF042FB1790000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004138CA8146B665FD37B85B8368268B5FB8277F3E246F2034E8BB3DF94F1057CB796DF9B65BD632032D452A8F1CB7DADDE977BA34C22CE1D7BAD8F314212EA442111B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000CF5540FFFCDC3D510B18BFCA6D2B9987B0772559000000000000000000000000CF5540FFFCDC3D510B18BFCA6D2B9987B0772559000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000D683BD37F900018390A1DA07E376EF7ADD4BE859BA74FB83AA02D50000060E851B9C7B02080335061613A78E00028F5C00017D2B63A9AB475397D9C247468803F25CF6523B76000169C66BEAFB06674DB41B22CFC50C34A93B8D82A200012F2DD99235CB728FC79AF575F1325EAA270F0C99000000000301020300030100000102011E020600000001FF0000000000000000000000000069C66BEAFB06674DB41B22CFC50C34A93B8D82A28390A1DA07E376EF7ADD4BE859BA74FB83AA02D50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000085EADF65F71DCB4356EBC64423236EC2AEAB36F900000000000000000000000000000000000000000000000000000000000000206E4A045D23C3DFD10F8A55619596AEBBC2D0E9AC82F5A7DDC78EC4DA86C21018}] )
-
GROK.transferFrom( sender=0x85eADF65f71dCB4356eBC64423236ec2AEaB36f9, recipient=0x2F2dD99235Cb728fc79Af575f1325Eaa270f0C99, amount=15964856679170 ) => ( True )
BKSwap.6a2b69f0( )
-
BKRegistry.getFeature( _methodId=System.Byte[] ) => ( proxy=0x60396fca11136A1F960CaadA73DDD08495e0b94E, isLib=True )
AggregationFeature.6a2b69f0( )
-
BKRegistry.isCallTarget( _methodId=System.Byte[], _target=0xCf5540fFFCdC3d510B18bFcA6d2b9987b0772559 ) => ( True )
-
BKRegistry.isApproveTarget( _methodId=System.Byte[], _target=0xCf5540fFFCdC3d510B18bFcA6d2b9987b0772559 ) => ( True )
-
BKFees.STATICCALL( )
-
GROK.balanceOf( account=0x2F2dD99235Cb728fc79Af575f1325Eaa270f0C99 ) => ( 15964856679171 )
-
GROK.allowance( owner=0x2F2dD99235Cb728fc79Af575f1325Eaa270f0C99, spender=0xCf5540fFFCdC3d510B18bFcA6d2b9987b0772559 ) => ( 0 )
-
GROK.allowance( owner=0x2F2dD99235Cb728fc79Af575f1325Eaa270f0C99, spender=0xCf5540fFFCdC3d510B18bFcA6d2b9987b0772559 ) => ( 0 )
-
GROK.approve( spender=0xCf5540fFFCdC3d510B18bFcA6d2b9987b0772559, amount=115792089237316195423570985008687907853269984665640564039457584007913129639935 ) => ( True )
OdosRouterV2.swapCompact( ) => ( 231097647768243712 )
-
GROK.transferFrom( sender=0x2F2dD99235Cb728fc79Af575f1325Eaa270f0C99, recipient=0x69c66BeAfB06674Db41b22CFC50c34A93b8d82a2, amount=15964856679170 ) => ( True )
0x7d2b63a9ab475397d9c247468803f25cf6523b76.cb70e273( )
-
UniswapV2Pair.STATICCALL( )
UniswapV2Pair.swap( amount0Out=0, amount1Out=232060430624497156, to=0x7D2b63A9ab475397d9c247468803F25Cf6523B76, data=0x )
WETH9.withdraw( wad=232060430624497156 )
- ETH 0.232060430624497156
0x7d2b63a9ab475397d9c247468803f25cf6523b76.CALL( )
- ETH 0.232060430624497156
- ETH 0.232060430624497156
OdosRouterV2.CALL( )
-
- ETH 0.231097647768243712
BKSwap.CALL( )
-
- ETH 0.000693292943304731
0x92c2ea2fafe891758da0ed2ec2978acf1d4162fb.CALL( )
- ETH 0.230404354824938981
0x85eadf65f71dcb4356ebc64423236ec2aeab36f9.CALL( )
-
-
swap[BKSwapRouter (ln:754)]
isETH[BKSwapRouter (ln:760)]
safeTransferFrom[BKSwapRouter (ln:761)]
call[TransferHelper (ln:853)]
encodeWithSelector[TransferHelper (ln:854)]
decode[TransferHelper (ln:862)]
SwapEthBalanceNotEnough[BKSwapRouter (ln:769)]
call[BKSwapRouter (ln:772)]
_revertWithData[BKSwapRouter (ln:776)]
File 1 of 9: BKSwapRouter
File 2 of 9: BKSwap
File 3 of 9: GROK
File 4 of 9: UniswapV2Pair
File 5 of 9: WETH9
File 6 of 9: OdosRouterV2
File 7 of 9: BKRegistry
File 8 of 9: AggregationFeature
File 9 of 9: BKFees
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** 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.*/
File 2 of 9: BKSwap
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** 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.*/
File 3 of 9: GROK
12345678910111213141516/*https://t.me/GROKERC20*/// SPDX-License-Identifier: MITpragma solidity 0.8.20;abstract contract Context {function _msgSender() internal view virtual returns (address) {return msg.sender;}}interface IERC20 {
File 4 of 9: UniswapV2Pair
12345678910111213141516// File: contracts/interfaces/IUniswapV2Pair.solpragma solidity >=0.5.0;interface IUniswapV2Pair {event Approval(address indexed owner, address indexed spender, uint value);event Transfer(address indexed from, address indexed to, uint value);function name() external pure returns (string memory);function symbol() external pure returns (string memory);function decimals() external pure returns (uint8);function totalSupply() external view returns (uint);function balanceOf(address owner) external view returns (uint);function allowance(address owner, address spender) external view returns (uint);function approve(address spender, uint value) external returns (bool);
File 5 of 9: WETH9
12345678910111213141516// Copyright (C) 2015, 2016, 2017 Dapphub// This program is free software: you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation, either version 3 of the License, or// (at your option) any later version.// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the// GNU General Public License for more details.// You should have received a copy of the GNU General Public License// along with this program. If not, see <http://www.gnu.org/licenses/>.pragma solidity ^0.4.18;
File 6 of 9: OdosRouterV2
12345678910111213141516// SPDX-License-Identifier: MITpragma solidity 0.8.8;// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)/*** @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 {
File 7 of 9: BKRegistry
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** 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.*/
File 8 of 9: AggregationFeature
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/draft-IERC20Permit.sol)pragma solidity ^0.8.0;/*** @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in* https://eips.ethereum.org/EIPS/eip-2612[EIP-2612].** Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by* presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't* need to send a transaction, and thus is not required to hold Ether at all.*/interface IERC20Permit {/*** @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens,* given ``owner``'s signed approval.*
File 9 of 9: BKFees
12345678910111213141516// SPDX-License-Identifier: MIT// OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol)pragma solidity ^0.8.0;import "../utils/Context.sol";/*** @dev Contract module which provides a basic access control mechanism, where* there is an account (an owner) that can be granted exclusive access to* specific functions.** 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.*/