ETH Price: $2,950.75 (-0.68%)

Transaction Decoder

Block:
12625490 at Jun-13-2021 10:07:22 AM +UTC
Transaction Fee:
0.003530844 ETH $10.42
Gas Used:
588,474 Gas / 6 Gwei

Emitted Events:

191 RankingBallGoldClone.Transfer( _from=KyberReserve, _to=KyberNetwork, _amount=4333603028555889946667 )
192 KyberReserve.TradeExecute( origin=KyberNetwork, src=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, srcAmount=16983000000000000, destToken=RankingBallGoldClone, destAmount=4333603028555889946667, destAddress=KyberNetwork )
193 RankingBallGoldClone.Transfer( _from=KyberNetwork, _to=Core, _amount=4333603028555889946667 )
194 KatanaFeeHandler.FeeDistributed( token=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, sender=KyberNetwork, platformWallet=0x910bf2d5...4Ab7c8bd2, platformFeeWei=0, rewardWei=12367500000000, rebateWei=0, rebateWallets=[], rebatePercentBpsPerWallet=[], burnAmtWei=4632500000000 )
195 KyberNetwork.KyberTrade( 0x30bbea603a7b36858fe5e3ec6ba5ff59dde039d02120d758eacfaed01520577d, 0x000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, 0x000000000000000000000000301c755ba0fca00b1923768fffb3df7f4e63af31, 000000000000000000000000000000000000000000000000003c6568f12e8000, 00000000000000000000000000000000000000000000000000000f761ef61000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000120, 0000000000000000000000000000000000000000000000000000000000000140, 0000000000000000000000000000000000000000000000000000000000000180, 00000000000000000000000000000000000000000000000000000000000001a0, 00000000000000000000000000000000000000000000000000000000000001e0, 0000000000000000000000000000000000000000000000000000000000000200, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000001, aa676463746f6b656e0000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000001, 000000000000000000000000000000000000000000000000003c55f2d2387000, 0000000000000000000000000000000000000000000000000000000000000000, 0000000000000000000000000000000000000000000000000000000000000001, 000000000000000000000000000000000000000000003608f4b9311f6520d14b )
196 KyberNetworkProxy.ExecuteTrade( trader=0xfd3dfb524b2da40c8a6d703c62be36b5d8540626, src=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, dest=RankingBallGoldClone, destAddress=Core, actualSrcAmount=17000000000000000, actualDestAmount=4333603028555889946667, platformWallet=0x910bf2d5...4Ab7c8bd2, platformFeeBps=0 )
197 AggregationRouterV3.Swapped( sender=Core, srcToken=0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee, dstToken=RankingBallGoldClone, dstReceiver=Core, spentAmount=17000000000000000, returnAmount=4333603028555889946667 )
198 Core.ExecutedAction( action=[{name:protocolAdapterName, type:bytes32, order:1, indexed:false, value:31496E6368205633000000000000000000000000000000000000000000000003, valueString:31496E6368205633000000000000000000000000000000000000000000000003}, {name:actionType, type:uint8, order:2, indexed:false, value:1, valueString:1}, {name:tokenAmounts, type:tuple[], order:3, indexed:false}, {name:data, type:bytes, order:4, indexed:false, value:0x000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004A47C025200000000000000000000000000FD3DFB524B2DA40C8A6D703C62BE36B5D854062600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000180000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000FD3DFB524B2DA40C8A6D703C62BE36B5D8540626000000000000000000000000D291328A6C202C5B18DCB24F279F69DE1E065F70000000000000000000000000000000000000000000000000003C6568F12E80000000000000000000000000000000000000000000000000E8936A401E3C81CD2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000208000000000000000000000009AAB3F75489902F3A48495025729A0AF77D4B11E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003C6568F12E8000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001E429589F61000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE000000000000000000000000000000000000000000000000003C6568F12E8000000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000D291328A6C202C5B18DCB24F279F69DE1E065F70FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000910BF2D50FA5E014FD06666F456182D4AB7C8BD2000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000001AA676463746F6B656E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000, valueString:0x000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004A47C025200000000000000000000000000FD3DFB524B2DA40C8A6D703C62BE36B5D854062600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000180000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000FD3DFB524B2DA40C8A6D703C62BE36B5D8540626000000000000000000000000D291328A6C202C5B18DCB24F279F69DE1E065F70000000000000000000000000000000000000000000000000003C6568F12E80000000000000000000000000000000000000000000000000E8936A401E3C81CD2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000208000000000000000000000009AAB3F75489902F3A48495025729A0AF77D4B11E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003C6568F12E8000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001E429589F61000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE000000000000000000000000000000000000000000000000003C6568F12E8000000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000D291328A6C202C5B18DCB24F279F69DE1E065F70FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000910BF2D50FA5E014FD06666F456182D4AB7C8BD2000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000001AA676463746F6B656E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000}] )
199 RankingBallGoldClone.Transfer( _from=Core, _to=[Sender] 0x6253a9244fe86f945a0a4eddb550b49c32f5d74c, _amount=4333603028555889946667 )
200 ChiToken.Transfer( from=[Receiver] Router, to=0x0000000000000000000000000000000000000000, value=0 )

Account State Difference:

  Address   Before After State Difference Code
0x0E590bB5...b8fB60Bda
(Kyber Network: Treasury)
123.492430571332292977 Eth123.492442938832292977 Eth0.0000123675
0x2485a4e3...5C99986F7
(Kyber: Reserve GDC)
0.395593066917901101 Eth0.412576066917901101 Eth0.016983
0x301C755b...f4E63aF31
0x546f1f2A...a1927dD74
0x6253a924...C32F5d74c
0.021392135 Eth
Nonce: 2
0.000861291 Eth
Nonce: 3
0.020530844
0x9Fb131eF...cC68401CA
(Kyber Network: Fee Handler 2)
49.790339469015244477 Eth49.790344101515244477 Eth0.0000046325
(Babel Pool)
19,158.852793460005992843 Eth19,158.856324304005992843 Eth0.003530844

Execution Trace

ETH 0.017 Router.startExecution( actions=, inputs=, fee=[{name:share, type:uint256, order:1, indexed:false, value:0, valueString:0}, {name:beneficiary, type:address, order:2, indexed:false, value:0x0000000000000000000000000000000000000000, valueString:0x0000000000000000000000000000000000000000}], requiredOutputs= ) => ( )
  • Null: 0xeee...eee.23b872dd( )
  • ETH 0.017 Core.CALL( )
  • Core.executeActions( actions=, requiredOutputs=, account=0x6253a9244fe86f945A0A4eDdb550B49C32F5d74c ) => ( )
    • ProtocolAdapterRegistry.getProtocolAdapterAddress( protocolAdapterName=31496E6368205633000000000000000000000000000000000000000000000003 ) => ( 0xe6189b3Ad3Fb3fAa87A336F00c93ECd3ac25d80d )
    • OneInchInteractiveAdapter.deposit( tokenAmounts=, data=0x000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000004A47C025200000000000000000000000000FD3DFB524B2DA40C8A6D703C62BE36B5D854062600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000180000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000FD3DFB524B2DA40C8A6D703C62BE36B5D8540626000000000000000000000000D291328A6C202C5B18DCB24F279F69DE1E065F70000000000000000000000000000000000000000000000000003C6568F12E80000000000000000000000000000000000000000000000000E8936A401E3C81CD2000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000208000000000000000000000009AAB3F75489902F3A48495025729A0AF77D4B11E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003C6568F12E8000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001E429589F61000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE000000000000000000000000000000000000000000000000003C6568F12E8000000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000D291328A6C202C5B18DCB24F279F69DE1E065F70FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000910BF2D50FA5E014FD06666F456182D4AB7C8BD2000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000001AA676463746F6B656E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ) => ( tokensToBeWithdrawn=[0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31] )
      • ETH 0.017 AggregationRouterV3.swap( caller=0xFD3dFB524B2dA40c8a6D703c62BE36b5D8540626, desc=[{name:srcToken, type:address, order:1, indexed:false, value:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, valueString:0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE}, {name:dstToken, type:address, order:2, indexed:false, value:0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31, valueString:0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31}, {name:srcReceiver, type:address, order:3, indexed:false, value:0xFD3dFB524B2dA40c8a6D703c62BE36b5D8540626, valueString:0xFD3dFB524B2dA40c8a6D703c62BE36b5D8540626}, {name:dstReceiver, type:address, order:4, indexed:false, value:0xD291328a6c202c5B18dCB24f279f69dE1E065f70, valueString:0xD291328a6c202c5B18dCB24f279f69dE1E065f70}, {name:amount, type:uint256, order:5, indexed:false, value:17000000000000000, valueString:17000000000000000}, {name:minReturnAmount, type:uint256, order:6, indexed:false, value:4290266998270331047200, valueString:4290266998270331047200}, {name:flags, type:uint256, order:7, indexed:false, value:0, valueString:0}, {name:permit, type:bytes, order:8, indexed:false, value:0x, valueString:0x}], data=0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000208000000000000000000000009AAB3F75489902F3A48495025729A0AF77D4B11E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003C6568F12E8000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001E429589F61000000000000000000000000EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE000000000000000000000000000000000000000000000000003C6568F12E8000000000000000000000000000301C755BA0FCA00B1923768FFFB3DF7F4E63AF31000000000000000000000000D291328A6C202C5B18DCB24F279F69DE1E065F70FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000910BF2D50FA5E014FD06666F456182D4AB7C8BD2000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000C00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000001AA676463746F6B656E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ) => ( returnAmount=4333603028555889946667, gasLeft=197152 )
        • RankingBallGoldClone.balanceOf( _owner=0xD291328a6c202c5B18dCB24f279f69dE1E065f70 ) => ( balance=0 )
        • ETH 0.017 0xfd3dfb524b2da40c8a6d703c62be36b5d8540626.d9c45357( )
          • ETH 0.017 KyberNetworkProxy.tradeWithHint( src=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, srcAmount=17000000000000000, dest=0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31, destAddress=0xD291328a6c202c5B18dCB24f279f69dE1E065f70, maxDestAmount=115792089237316195423570985008687907853269984665640564039457584007913129639935, minConversionRate=0, walletId=0x910bf2d50fA5e014Fd06666f456182D4Ab7c8bd2, hint=0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000001AA676463746F6B656E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ) => ( 4333603028555889946667 )
            • RankingBallGoldClone.balanceOf( _owner=0xD291328a6c202c5B18dCB24f279f69dE1E065f70 ) => ( balance=0 )
            • ETH 0.017 KyberNetwork.tradeWithHintAndFee( trader=0xFD3dFB524B2dA40c8a6D703c62BE36b5D8540626, src=0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, srcAmount=17000000000000000, dest=0x301C755bA0fcA00B1923768Fffb3Df7f4E63aF31, destAddress=0xD291328a6c202c5B18dCB24f279f69dE1E065f70, maxDestAmount=115792089237316195423570985008687907853269984665640564039457584007913129639935, minConversionRate=0, platformWallet=0x910bf2d50fA5e014Fd06666f456182D4Ab7c8bd2, platformFeeBps=0, hint=0x0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000A00000000000000000000000000000000000000000000000000000000000000001AA676463746F6B656E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ) => ( destAmount=4333603028555889946667 )
            • RankingBallGoldClone.balanceOf( _owner=0xD291328a6c202c5B18dCB24f279f69dE1E065f70 ) => ( balance=4333603028555889946667 )
            • RankingBallGoldClone.balanceOf( _owner=0xD291328a6c202c5B18dCB24f279f69dE1E065f70 ) => ( balance=4333603028555889946667 )
            • RankingBallGoldClone.balanceOf( _owner=0xD291328a6c202c5B18dCB24f279f69dE1E065f70 ) => ( balance=4333603028555889946667 )
            • RankingBallGoldClone.transfer( _to=0x6253a9244fe86f945A0A4eDdb550B49C32F5d74c, _amount=4333603028555889946667 ) => ( success=True )
              • RankingBallGoldCustomToken.balanceOfAt( _owner=0x6253a9244fe86f945A0A4eDdb550B49C32F5d74c, _blockNumber=9003394 ) => ( 0 )
              • RankingBallGoldClone.balanceOf( _owner=0xD291328a6c202c5B18dCB24f279f69dE1E065f70 ) => ( balance=0 )
              • ChiToken.freeUpTo( value=14 ) => ( 0 )
                startExecution[Router (ln:114)]
                File 1 of 12: Router
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // Copyright (C) 2020 Zerion Inc. <https://zerion.io>
                //
                // 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 <https://www.gnu.org/licenses/>.
                //
                // SPDX-License-Identifier: LGPL-3.0-only
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 2 of 12: KyberReserve
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                pragma solidity ^0.4.13;
                interface ConversionRatesInterface {
                function recordImbalance(
                ERC20 token,
                int buyAmount,
                uint rateUpdateBlock,
                uint currentBlock
                )
                public;
                function getRate(ERC20 token, uint currentBlockNumber, bool buy, uint qty) public view returns(uint);
                }
                interface ERC20 {
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 3 of 12: KyberNetwork
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // File: contracts/sol6/IERC20.sol
                pragma solidity 0.6.6;
                interface IERC20 {
                event Approval(address indexed _owner, address indexed _spender, uint256 _value);
                function approve(address _spender, uint256 _value) external returns (bool success);
                function transfer(address _to, uint256 _value) external returns (bool success);
                function transferFrom(
                address _from,
                address _to,
                uint256 _value
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 4 of 12: RankingBallGoldClone
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                pragma solidity ^0.4.18;
                contract Controlled {
                /// @notice The address of the controller is the only address that can call
                /// a function with this modifier
                modifier onlyController { require(msg.sender == controller); _; }
                address public controller;
                function Controlled() public { controller = msg.sender;}
                /// @notice Changes the controller of the contract
                /// @param _newController The new controller of the contract
                function changeController(address _newController) public onlyController {
                controller = _newController;
                }
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 5 of 12: Core
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // Copyright (C) 2020 Zerion Inc. <https://zerion.io>
                //
                // 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 <https://www.gnu.org/licenses/>.
                //
                // SPDX-License-Identifier: LGPL-3.0-only
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 6 of 12: KatanaFeeHandler
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                pragma solidity 0.6.6;
                import "../utils/Utils5.sol";
                import "../utils/zeppelin/ReentrancyGuard.sol";
                import "../utils/zeppelin/SafeMath.sol";
                import "../IKyberFeeHandler.sol";
                import "../IKyberNetworkProxy.sol";
                import "../ISimpleKyberProxy.sol";
                import "../mock/reserves/ISanityRate.sol";
                import "../mock/dao/IBurnableToken.sol";
                import "../mock/dao/DaoOperator.sol";
                /**
                * @title IKyberProxy
                * This interface combines two interfaces.
                * It is needed since we use one function from each of the interfaces.
                *
                */
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 7 of 12: KyberNetworkProxy
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // File: contracts/sol6/IERC20.sol
                pragma solidity 0.6.6;
                interface IERC20 {
                event Approval(address indexed _owner, address indexed _spender, uint256 _value);
                function approve(address _spender, uint256 _value) external returns (bool success);
                function transfer(address _to, uint256 _value) external returns (bool success);
                function transferFrom(
                address _from,
                address _to,
                uint256 _value
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 8 of 12: AggregationRouterV3
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                /*
                ,▄▓▓██▌ ,╓▄▄▓▓▓▓▓▓▓▓▄▄▄,,
                ,▓██▓███▓▄▓███▓╬╬╬╬╬╬╬╬╬╬╬╬╬▓███▓▄,
                ▄█ ▓██╬╣███████╬▓▀╬╬▓▓▓████████████▓█████▄,
                ▓██▌ ▓██╬╣██████╬▓▌ ██████████████████████▌╙╙▀ⁿ
                ▐████████╬▓████▓▓█╨ ▄ ╟█████████▓▓╬╬╬╬╬▓▓█████▓▄
                └▀▓▓▄╓ ╟█▓╣█████▓██████▀ ╓█▌ ███████▓▓▓▓▓╬╬╬╬╬╬╬╬╬╬╬╬▓██▓▄
                └▀████▓▄╥ ▐██╬╬██████████╙ Æ▀─ ▓███▀╚╠╬╩▀▀███████▓▓╬╬╬╬╬╬╬╬╬██▄
                └▀██▓▀▀█████▓╬▓██████▀ ▄█████▒╠" └╙▓██████▓╬╬╬╬╬╬╬╬██▄
                └▀██▄,└╙▀▀████▌└╙ ^"▀╙╙╙"╙██ @▄ ╙▀███████╬╬╬╬╬╬╬██µ
                └▀██▓▄, ██▌ ╒ ╙█▓ ]▓█▓╔ ▀███████▓╬╬╬╬╬▓█▌
                ▀█████ ▓ ╟█▌ ]╠██▓░▒╓ ▀████████╬╬╬╬╣█▌
                ▐████ ╓█▀█▌ ,██▌ ╚Å███▓▒▒╠╓ ╙█████████╬╬╬╣█▌
                └████ ▓█░░▓█ ▀▀▀ φ▒╫████▒▒▒▒╠╓ █████████▓╬╬▓█µ
                ╘███µ ▌▄█▓▄▓▀` ,▀ ,╔╠░▓██████▌╠▒▒▒φ ██████████╬╬██
                ▐████µ╙▓▀` ,▀╙,╔╔φφφ╠░▄▓███████▌░▓╙▒▒▒╠ └██╬███████╬▓█⌐
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 9 of 12: ChiToken
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                /*
                ,╖╗#▒▓▓▓▓▓╣╬╣▓▓▓▓▒#╗╗╓,
                ,╗@▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▓▓╗╖
                ╓#▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╝▀╠╠▄╣╝╜"""╙╙▀╝╝╣╬╬╬╬▓▌╖
                ╓▓╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▀`╓å▓▓▓╙ ,▄▓▓██▓▓▓▄▄▄▄▄╠╠╙╠▄▄
                ╓@╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▌ ê`' *▀▀▀▀▀▀▀▓██████████████▄
                ╔▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╙▀████████████▌
                ╓▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ╙████████████▌
                ,▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▓▀ ╗▄█████████████▄
                é╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▓▌ #╙ ╙▀█████████████▓
                ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▀ ╙▓╬╣▓▄ ╙▀▀███████████µ
                ▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▀╣╝╙ ╒▓╬╬╬╬╬╬▓ ╙████████████████µ
                ▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▌ ╖╖╖▄▓╬╬╬╬╬╬╬▓ █████████████████µ
                ╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬ ,#▓╣╬╬▓╬╬╬╬╬╬╬╬╬╬╬╬▌ ▓█████████████████
                ]╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╓╖ ]╣╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╣╨ ██████████████████▌
                ▓╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬▓▌╖, ╙╠╠▓╬╬╬╬╬╬╬╬╬▓╝╙ ╫███████████████████
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 10 of 12: ProtocolAdapterRegistry
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // Copyright (C) 2020 Zerion Inc. <https://zerion.io>
                //
                // 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 <https://www.gnu.org/licenses/>.
                //
                // SPDX-License-Identifier: LGPL-3.0-only
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 11 of 12: OneInchInteractiveAdapter
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                // Copyright (C) 2020 Zerion Inc. <https://zerion.io>
                //
                // 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 <https://www.gnu.org/licenses/>.
                //
                // SPDX-License-Identifier: LGPL-3.0-only
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                File 12 of 12: RankingBallGoldCustomToken
                1
                2
                3
                4
                5
                6
                7
                8
                9
                10
                11
                12
                13
                14
                15
                16
                pragma solidity ^0.4.24;
                contract Controlled {
                /// @notice The address of the controller is the only address that can call
                /// a function with this modifier
                modifier onlyController { require(msg.sender == controller); _; }
                address public controller;
                function Controlled() public { controller = msg.sender;}
                /// @notice Changes the controller of the contract
                /// @param _newController The new controller of the contract
                function changeController(address _newController) public onlyController {
                controller = _newController;
                XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX