ETH Price: $2,533.96 (-1.49%)

Transaction Decoder

Block:
22547058 at May-23-2025 05:28:47 PM +UTC
Transaction Fee:
0.00064435515530477 ETH $1.63
Gas Used:
267,163 Gas / 2.41184279 Gwei

Emitted Events:

69 Ondo.Transfer( from=[Sender] 0xe0348de9f0ae738a40a7249135cfc15148e48508, to=Spender, amount=102048936539994229420 )
70 WETH9.Transfer( src=UniswapV3Pool, dst=AggregationRouterV5, wad=38325226611284670 )
71 Ondo.Transfer( from=Spender, to=UniswapV3Pool, amount=101156008345269279913 )
72 UniswapV3Pool.Swap( sender=AggregationRouterV5, recipient=AggregationRouterV5, amount0=-38325226611284670, amount1=101156008345269279913, sqrtPriceX96=4064255760507661441316694053802, liquidity=1091875421150617491950099, tick=78757 )
73 AdminUpgradeabilityProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x0000000000000000000000004628a0a564debfc8798eb55db5c91f2200486c24, 0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631, 000000000000000000000000000000000000000000000001119360c7481cb556 )
74 WETH9.Transfer( src=AggregationRouterV5, dst=0x4628a0A564DEBFc8798eb55DB5c91f2200486c24, wad=38325226611284670 )
75 0x4628a0a564debfc8798eb55db5c91f2200486c24.0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67( 0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67, 0x0000000000000000000000001111111254eeb25477b68fb85ed929f73a960582, 0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631, fffffffffffffffffffffffffffffffffffffffffffffffeee6c9f38b7e34aaa, 000000000000000000000000000000000000000000000000008828972e1a1abe, 00000000000000000000000000000000000000000b455dc9b2ea653ca65a1987, 00000000000000000000000000000000000000000000041ac1b9fcda1d27ecd3, ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0c01 )
76 Ondo.Transfer( from=Spender, to=0x4ACb6C4321253548a7d4Bb9C84032Cc4eE04bFD7, amount=892928194724949507 )
77 AdminUpgradeabilityProxy.0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef( 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, 0x00000000000000000000000074de5d4fcbf63e00296fd95d33236b9794016631, 0x000000000000000000000000e0348de9f0ae738a40a7249135cfc15148e48508, 000000000000000000000000000000000000000000000001119360c7481cb556 )
78 MetaSwap.Swap( 0xbeee1e6e7fe307ddcf84b0a16137a4430ad5e2480fc4f4a8e250ab56ccd7630d, 0xf35f348d53012d52a5d39f9390d246956ac932d5778d2bb49e359dba4fa0896d, 0x000000000000000000000000e0348de9f0ae738a40a7249135cfc15148e48508 )

Account State Difference:

  Address   Before After State Difference Code
0x4628a0A5...200486c24
(Uniswap V3: RNDR)
(Titan Builder)
5.125114044823480426 Eth5.125381207824549078 Eth0.000267163001068652
0x6De037ef...27e4Aeb24
0x7b1E5D98...CFaBc3cC7
(Uniswap V3: ONDO)
0xC02aaA39...83C756Cc2
0xe0348De9...148e48508
0.20592849089760035 Eth
Nonce: 261
0.20528413574229558 Eth
Nonce: 262
0.00064435515530477
0xfAbA6f8e...577269BE3

Execution Trace

MetaSwap.swap( aggregatorId=oneInchV5FeeDynamic, tokenFrom=0xfAbA6f8e4a5E8Ab82F62fe7C39859FA577269BE3, amount=102048936539994229420, data=0x000000000000000000000000FABA6F8E4A5E8AB82F62FE7C39859FA577269BE30000000000000000000000006DE037EF9AD2725EB40118BB1702EBB27E4AEB240000000000000000000000000000000000000000000000057BD255A47C399CA90000000000000000000000000000000000000000000000010C1AABA493784B4F00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000C6451765082EE030000000000000000000000004ACB6C4321253548A7D4BB9C84032CC4EE04BFD7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C8E449022E0000000000000000000000000000000000000000000000057BD255A47C399CA90000000000000000000000000000000000000000000000010C1AABA493784B4F000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000028000000000000000000000007B1E5D984A43EE732DE195628D20D05CFABC3CC78000000000000000000000004628A0A564DEBFC8798EB55DB5C91F2200486C247DCBEA7C000000000000000000000000000000000000000000000000 )
  • Ondo.transferFrom( src=0xe0348De9f0Ae738a40a7249135CfC15148e48508, dst=0x74de5d4FCbf63E00296fd95d33236B9794016631, rawAmount=102048936539994229420 ) => ( True )
  • Spender.swap( adapter=0x7CDf68CE9A05413Cbb76cb7F80EAF415A826E313, data=0x92F5F037000000000000000000000000E0348DE9F0AE738A40A7249135CFC15148E48508000000000000000000000000FABA6F8E4A5E8AB82F62FE7C39859FA577269BE30000000000000000000000006DE037EF9AD2725EB40118BB1702EBB27E4AEB240000000000000000000000000000000000000000000000057BD255A47C399CA90000000000000000000000000000000000000000000000010C1AABA493784B4F00000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000C6451765082EE030000000000000000000000004ACB6C4321253548A7D4BB9C84032CC4EE04BFD7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000C8E449022E0000000000000000000000000000000000000000000000057BD255A47C399CA90000000000000000000000000000000000000000000000010C1AABA493784B4F000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000028000000000000000000000007B1E5D984A43EE732DE195628D20D05CFABC3CC78000000000000000000000004628A0A564DEBFC8798EB55DB5C91F2200486C247DCBEA7C000000000000000000000000000000000000000000000000 )
    • 0x7cdf68ce9a05413cbb76cb7f80eaf415a826e313.92f5f037( )
      • Ondo.allowance( account=0x74de5d4FCbf63E00296fd95d33236B9794016631, spender=0x1111111254EEB25477B68fb85Ed929f73A960582 ) => ( 79228162514264337593543950335 )
      • AggregationRouterV5.uniswapV3Swap( amount=101156008345269279913, minReturn=19318942274896284495, pools=[57896044618658097711785492505046836967066507530597318876187600159000527387847, 57896044618658097711785492504744489304647021327341146780663867841059932892196] ) => ( returnAmount=19713206402955392342 )
        • UniswapV3Pool.swap( recipient=0x1111111254EEB25477B68fb85Ed929f73A960582, zeroForOne=False, amountSpecified=101156008345269279913, sqrtPriceLimitX96=1461446703485210103287273052203988822378723970341, data=0x00000000000000000000000074DE5D4FCBF63E00296FD95D33236B9794016631 ) => ( amount0=-38325226611284670, amount1=101156008345269279913 )
          • WETH9.transfer( dst=0x1111111254EEB25477B68fb85Ed929f73A960582, wad=38325226611284670 ) => ( True )
          • Ondo.balanceOf( account=0x7b1E5D984A43eE732de195628d20d05CFaBc3cC7 ) => ( 9505408817462270371314005 )
          • AggregationRouterV5.uniswapV3SwapCallback( amount0Delta=-38325226611284670, amount1Delta=101156008345269279913, 0x00000000000000000000000074DE5D4FCBF63E00296FD95D33236B9794016631 )
            • UniswapV3Pool.STATICCALL( )
            • UniswapV3Pool.STATICCALL( )
            • UniswapV3Pool.STATICCALL( )
            • Ondo.transferFrom( src=0x74de5d4FCbf63E00296fd95d33236B9794016631, dst=0x7b1E5D984A43eE732de195628d20d05CFaBc3cC7, rawAmount=101156008345269279913 ) => ( True )
            • Ondo.balanceOf( account=0x7b1E5D984A43eE732de195628d20d05CFaBc3cC7 ) => ( 9505509973470615640593918 )
            • Uniswap V3: RNDR.128acb08( )
              • AdminUpgradeabilityProxy.a9059cbb( )
                • RenderToken.transfer( _to=0x74de5d4FCbf63E00296fd95d33236B9794016631, _value=19713206402955392342 ) => ( True )
                • WETH9.balanceOf( 0x4628a0A564DEBFc8798eb55DB5c91f2200486c24 ) => ( 56544587996213465107 )
                • AggregationRouterV5.uniswapV3SwapCallback( amount0Delta=-19713206402955392342, amount1Delta=38325226611284670, 0x0000000000000000000000001111111254EEB25477B68FB85ED929F73A960582 )
                  • Uniswap V3: RNDR.STATICCALL( )
                  • Uniswap V3: RNDR.STATICCALL( )
                  • Uniswap V3: RNDR.STATICCALL( )
                  • WETH9.transfer( dst=0x4628a0A564DEBFc8798eb55DB5c91f2200486c24, wad=38325226611284670 ) => ( True )
                  • WETH9.balanceOf( 0x4628a0A564DEBFc8798eb55DB5c91f2200486c24 ) => ( 56582913222824749777 )
                  • Ondo.transfer( dst=0x4ACb6C4321253548a7d4Bb9C84032Cc4eE04bFD7, rawAmount=892928194724949507 ) => ( True )
                  • Ondo.balanceOf( account=0x74de5d4FCbf63E00296fd95d33236B9794016631 ) => ( 0 )
                  • AdminUpgradeabilityProxy.70a08231( )
                    • RenderToken.balanceOf( _owner=0x74de5d4FCbf63E00296fd95d33236B9794016631 ) => ( 19713206402955392342 )
                    • AdminUpgradeabilityProxy.a9059cbb( )
                      • RenderToken.transfer( _to=0xe0348De9f0Ae738a40a7249135CfC15148e48508, _value=19713206402955392342 ) => ( True )
                        File 1 of 8: MetaSwap
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        pragma solidity ^0.6.0;
                        import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
                        import "@openzeppelin/contracts/token/ERC20/SafeERC20.sol";
                        import "@openzeppelin/contracts/utils/Address.sol";
                        import "../Constants.sol";
                        contract CommonAdapter {
                        using SafeERC20 for IERC20;
                        using Address for address;
                        using Address for address payable;
                        /**
                        * @dev Performs a swap
                        * @param recipient The original msg.sender performing the swap
                        * @param aggregator Address of the aggregator's contract
                        * @param spender Address to which tokens will be approved
                        * @param method Selector of the function to be called in the aggregator's contract
                        * @param tokenFrom Token to be swapped
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 2 of 8: Spender
                        1
                        {"Constants.84ef19f8.sol":{"content":"// SPDX-License-Identifier: MIT\r\n\r\npragma solidity ^0.6.0;\r\n\r\nlibrary Constants {\r\n address internal
                            constant ETH = 0x0000000000000000000000000000000000000000;\r\n}\r\n"},"Spender.3372a096.sol":{"content":"// SPDX-License-Identifier:
                            MIT\r\n\r\npragma solidity ^0.6.0;\r\n\r\nimport \"./Constants.84ef19f8.sol\";\r\n\r\ncontract Spender {\r\n address public immutable metaswap
                            ;\r\n\r\n constructor() public {\r\n metaswap = msg.sender;\r\n }\r\n\r\n /// @dev Receives ether from swaps\r\n fallback()
                            external payable {}\r\n\r\n function swap(address adapter, bytes calldata data) external payable {\r\n require(msg.sender == metaswap,
                            \"FORBIDDEN\");\r\n require(adapter != address(0), \"ADAPTER_NOT_PROVIDED\");\r\n _delegate(adapter, data,
                            \"ADAPTER_DELEGATECALL_FAILED\");\r\n }\r\n\r\n /**\r\n * @dev Performs a delegatecall and bubbles up the errors, adapted from\r\n *
                            https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Address.sol\r\n * @param target Address of the contract to
                            delegatecall\r\n * @param data Data passed in the delegatecall\r\n * @param errorMessage Fallback revert reason\r\n */\r\n function
                            _delegate(\r\n address target,\r\n bytes memory data,\r\n string memory errorMessage\r\n ) private returns (bytes memory)
                            {\r\n // solhint-disable-next-line avoid-low-level-calls\r\n (bool success, bytes memory returndata) = target.delegatecall(data);\r\n
                             if (success) {\r\n return returndata;\r\n } else {\r\n // Look for revert reason and bubble it up if
                            present\r\n if (returndata.length \u003e 0) {\r\n // The easiest way to bubble the revert reason is using memory via
                            assembly\r\n\r\n // solhint-disable-next-line no-inline-assembly\r\n assembly {\r\n let
                            returndata_size := mload(returndata)\r\n revert(add(32, returndata), returndata_size)\r\n }\r\n } else
                            {\r\n revert(errorMessage);\r\n }\r\n }\r\n }\r\n}\r\n"}}
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 3 of 8: Ondo
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // SPDX-License-Identifier: AGPL-3.0
                        pragma solidity 0.8.3;
                        /*
                        * @dev Provides information about the current execution context, including the
                        * sender of the transaction and its data. While these are generally available
                        * via msg.sender and msg.data, they should not be accessed in such a direct
                        * manner, since when dealing with meta-transactions the account sending and
                        * paying for execution may not be the actual sender (as far as an application
                        * is concerned).
                        *
                        * This contract is only required for intermediate, library-like contracts.
                        */
                        abstract contract Context {
                        function _msgSender() internal view virtual returns (address) {
                        return msg.sender;
                        }
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 4 of 8: UniswapV3Pool
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // SPDX-License-Identifier: BUSL-1.1
                        pragma solidity =0.7.6;
                        import './interfaces/IUniswapV3Pool.sol';
                        import './NoDelegateCall.sol';
                        import './libraries/LowGasSafeMath.sol';
                        import './libraries/SafeCast.sol';
                        import './libraries/Tick.sol';
                        import './libraries/TickBitmap.sol';
                        import './libraries/Position.sol';
                        import './libraries/Oracle.sol';
                        import './libraries/FullMath.sol';
                        import './libraries/FixedPoint128.sol';
                        import './libraries/TransferHelper.sol';
                        import './libraries/TickMath.sol';
                        import './libraries/LiquidityMath.sol';
                        import './libraries/SqrtPriceMath.sol';
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 5 of 8: AggregationRouterV5
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        /*
                        ,โ–„โ–“โ–“โ–ˆโ–ˆโ–Œ ,โ•“โ–„โ–„โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–“โ–„โ–„โ–„,,
                        ,โ–“โ–ˆโ–ˆโ–“โ–ˆโ–ˆโ–ˆโ–“โ–„โ–“โ–ˆโ–ˆโ–ˆโ–“โ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ–“โ–ˆโ–ˆโ–ˆโ–“โ–„,
                        โ–„โ–ˆ โ–“โ–ˆโ–ˆโ•ฌโ•ฃโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฌโ–“โ–€โ•ฌโ•ฌโ–“โ–“โ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–„,
                        โ–“โ–ˆโ–ˆโ–Œ โ–“โ–ˆโ–ˆโ•ฌโ•ฃโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฌโ–“โ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ•™โ•™โ–€โฟ
                        โ–โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฌโ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–“โ–ˆโ•จ โ–„ โ•Ÿโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–“โ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ–“โ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–„
                        โ””โ–€โ–“โ–“โ–„โ•“ โ•Ÿโ–ˆโ–“โ•ฃโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ•“โ–ˆโ–Œ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–“โ–“โ–“โ–“โ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ–“โ–ˆโ–ˆโ–“โ–„
                        โ””โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–„โ•ฅ โ–โ–ˆโ–ˆโ•ฌโ•ฌโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•™ ร†โ–€โ”€ โ–“โ–ˆโ–ˆโ–ˆโ–€โ•šโ• โ•ฌโ•ฉโ–€โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ–“โ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ–ˆโ–ˆโ–„
                        โ””โ–€โ–ˆโ–ˆโ–“โ–€โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ•ฌโ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–€ โ–„โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–’โ• " โ””โ•™โ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ–ˆโ–ˆโ–„
                        โ””โ–€โ–ˆโ–ˆโ–„,โ””โ•™โ–€โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ””โ•™ ^"โ–€โ•™โ•™โ•™"โ•™โ–ˆโ–ˆ @โ–„ โ•™โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ–ˆโ–ˆยต
                        โ””โ–€โ–ˆโ–ˆโ–“โ–„, โ–ˆโ–ˆโ–Œ โ•’ โ•™โ–ˆโ–“ ]โ–“โ–ˆโ–“โ•” โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ•ฌโ•ฌโ•ฌโ•ฌโ•ฌโ–“โ–ˆโ–Œ
                        โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ โ–“ โ•Ÿโ–ˆโ–Œ ]โ• โ–ˆโ–ˆโ–“โ–‘โ–’โ•“ โ–€โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฌโ•ฌโ•ฌโ•ฌโ•ฃโ–ˆโ–Œ
                        โ–โ–ˆโ–ˆโ–ˆโ–ˆ โ•“โ–ˆโ–€โ–ˆโ–Œ ,โ–ˆโ–ˆโ–Œ โ•šร…โ–ˆโ–ˆโ–ˆโ–“โ–’โ–’โ• โ•“ โ•™โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฌโ•ฌโ•ฌโ•ฃโ–ˆโ–Œ
                        โ””โ–ˆโ–ˆโ–ˆโ–ˆ โ–“โ–ˆโ–‘โ–‘โ–“โ–ˆ โ–€โ–€โ–€ ฯ†โ–’โ•ซโ–ˆโ–ˆโ–ˆโ–ˆโ–’โ–’โ–’โ–’โ• โ•“ โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–“โ•ฌโ•ฌโ–“โ–ˆยต
                        โ•˜โ–ˆโ–ˆโ–ˆยต โ–Œโ–„โ–ˆโ–“โ–„โ–“โ–€` ,โ–€ ,โ•”โ• โ–‘โ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ• โ–’โ–’โ–’ฯ† โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฌโ•ฌโ–ˆโ–ˆ
                        โ–โ–ˆโ–ˆโ–ˆโ–ˆยตโ•™โ–“โ–€` ,โ–€โ•™,โ•”โ•”ฯ†ฯ†ฯ†โ• โ–‘โ–„โ–“โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–Œโ–‘โ–“โ•™โ–’โ–’โ–’โ•  โ””โ–ˆโ–ˆโ•ฌโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ•ฌโ–“โ–ˆโŒ
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 6 of 8: WETH9
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        // 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;
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 7 of 8: AdminUpgradeabilityProxy
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        /**
                        *Submitted for verification at Etherscan.io on 2018-10-22
                        */
                        pragma solidity ^0.4.24;
                        // File: contracts/upgradeability/Proxy.sol
                        /**
                        * @title Proxy
                        * @dev Implements delegation of calls to other contracts, with proper
                        * forwarding of return values and bubbling of failures.
                        * It defines a fallback function that delegates all calls to the address
                        * returned by the abstract _implementation() internal function.
                        */
                        contract Proxy {
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                        File 8 of 8: RenderToken
                        1
                        2
                        3
                        4
                        5
                        6
                        7
                        8
                        9
                        10
                        11
                        12
                        13
                        14
                        15
                        16
                        pragma solidity ^0.4.24;
                        // File: /Users/matthewmcclure/repos/Token-Audit/node_modules/openzeppelin-zos/contracts/token/ERC20/ERC20Basic.sol
                        /**
                        * @title ERC20Basic
                        * @dev Simpler version of ERC20 interface
                        * @dev see https://github.com/ethereum/EIPs/issues/179
                        */
                        contract ERC20Basic {
                        function totalSupply() public view returns (uint256);
                        function balanceOf(address who) public view returns (uint256);
                        function transfer(address to, uint256 value) public returns (bool);
                        event Transfer(address indexed from, address indexed to, uint256 value);
                        }
                        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX