ETH Price: $2,677.96 (+2.87%)

Contract

0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer From Wi...205915962024-08-23 13:28:1135 mins ago1724419691IN
0x370DE27f...324Cf623C
0 ETH0.000121451.54620178
Transfer From Wi...205915002024-08-23 13:08:4754 mins ago1724418527IN
0x370DE27f...324Cf623C
0 ETH0.000089361.45480286
Transfer From Wi...205914692024-08-23 13:02:351 hr ago1724418155IN
0x370DE27f...324Cf623C
0 ETH0.000087211.41975838
Transfer From Wi...205913052024-08-23 12:29:471 hr ago1724416187IN
0x370DE27f...324Cf623C
0 ETH0.000133281.5782843
Transfer From Wi...205902442024-08-23 8:55:235 hrs ago1724403323IN
0x370DE27f...324Cf623C
0 ETH0.000059251.05049086
Transfer From Wi...205871412024-08-22 22:29:5915 hrs ago1724365799IN
0x370DE27f...324Cf623C
0 ETH0.000042350.83848849
Transfer From Wi...205863382024-08-22 19:48:5918 hrs ago1724356139IN
0x370DE27f...324Cf623C
0 ETH0.000071111.26074151
Transfer From Wi...205848372024-08-22 14:47:3523 hrs ago1724338055IN
0x370DE27f...324Cf623C
0 ETH0.000249933.37344765
Transfer From Wi...205847332024-08-22 14:26:4723 hrs ago1724336807IN
0x370DE27f...324Cf623C
0 ETH0.000132541.78908838
Transfer From Wi...205842292024-08-22 12:45:1125 hrs ago1724330711IN
0x370DE27f...324Cf623C
0 ETH0.000175512.60595145
Transfer From Wi...205839382024-08-22 11:46:5926 hrs ago1724327219IN
0x370DE27f...324Cf623C
0 ETH0.000094661.40533315
Transfer From Wi...205839362024-08-22 11:46:3526 hrs ago1724327195IN
0x370DE27f...324Cf623C
0 ETH0.000094821.40792413
Transfer From Wi...205839342024-08-22 11:46:1126 hrs ago1724327171IN
0x370DE27f...324Cf623C
0 ETH0.000093231.3841064
Transfer From Wi...205839332024-08-22 11:45:5926 hrs ago1724327159IN
0x370DE27f...324Cf623C
0 ETH0.000095081.41154478
Transfer From Wi...205839302024-08-22 11:45:2326 hrs ago1724327123IN
0x370DE27f...324Cf623C
0 ETH0.000091831.36326753
Transfer From Wi...205838962024-08-22 11:38:3526 hrs ago1724326715IN
0x370DE27f...324Cf623C
0 ETH0.00009911.47121771
Transfer From Wi...205838932024-08-22 11:37:5926 hrs ago1724326679IN
0x370DE27f...324Cf623C
0 ETH0.000101071.5007202
Transfer From Wi...205838902024-08-22 11:37:2326 hrs ago1724326643IN
0x370DE27f...324Cf623C
0 ETH0.000102321.51898182
Transfer From Wi...205838892024-08-22 11:37:1126 hrs ago1724326631IN
0x370DE27f...324Cf623C
0 ETH0.000092261.36962511
Transfer From Wi...205838842024-08-22 11:36:1126 hrs ago1724326571IN
0x370DE27f...324Cf623C
0 ETH0.000120231.78514642
Transfer From Wi...205838822024-08-22 11:35:4726 hrs ago1724326547IN
0x370DE27f...324Cf623C
0 ETH0.000103541.53716254
Transfer From Wi...205838772024-08-22 11:34:4726 hrs ago1724326487IN
0x370DE27f...324Cf623C
0 ETH0.00011571.71767092
Transfer From Wi...205838752024-08-22 11:34:2326 hrs ago1724326463IN
0x370DE27f...324Cf623C
0 ETH0.000107861.6014427
Transfer From Wi...205838722024-08-22 11:33:4726 hrs ago1724326427IN
0x370DE27f...324Cf623C
0 ETH0.000115221.71074759
Transfer From Wi...205838692024-08-22 11:33:1126 hrs ago1724326391IN
0x370DE27f...324Cf623C
0 ETH0.000140491.66340606
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20FeeProxy

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-09-02
*/

pragma solidity ^0.5.0;


/**
 * @title ERC20FeeProxy
 * @notice This contract performs an ERC20 token transfer, with a Fee sent to a third address and stores a reference
 */
contract ERC20FeeProxy {
  // Event to declare a transfer with a reference
  event TransferWithReferenceAndFee(
    address tokenAddress,
    address to,
    uint256 amount,
    bytes indexed paymentReference,
    uint256 feeAmount,
    address feeAddress
  );

  // Fallback function returns funds to the sender
  function() external payable {
    revert("not payable fallback");
  }

  /**
    * @notice Performs a ERC20 token transfer with a reference and a transfer to a second address for the payment of a fee
    * @param _tokenAddress Address of the ERC20 token smart contract
    * @param _to Transfer recipient
    * @param _amount Amount to transfer
    * @param _paymentReference Reference of the payment related
    * @param _feeAmount The amount of the payment fee
    * @param _feeAddress The fee recipient
    */
  function transferFromWithReferenceAndFee(
    address _tokenAddress,
    address _to,
    uint256 _amount,
    bytes calldata _paymentReference,
    uint256 _feeAmount,
    address _feeAddress
    ) external
    {
    require(safeTransferFrom(_tokenAddress, _to, _amount), "payment transferFrom() failed");
    if (_feeAmount > 0 && _feeAddress != address(0)) {
      require(safeTransferFrom(_tokenAddress, _feeAddress, _feeAmount), "fee transferFrom() failed");
    }
    emit TransferWithReferenceAndFee(
      _tokenAddress,
      _to,
      _amount,
      _paymentReference,
      _feeAmount,
      _feeAddress
    );
  }

  /**
   * @notice Call transferFrom ERC20 function and validates the return data of a ERC20 contract call.
   * @dev This is necessary because of non-standard ERC20 tokens that don't have a return value.
   * @return The return value of the ERC20 call, returning true for non-standard tokens
   */
  function safeTransferFrom(address _tokenAddress, address _to, uint256 _amount) internal returns (bool result) {
    /* solium-disable security/no-inline-assembly */
    // check if the address is a contract
    assembly {
      if iszero(extcodesize(_tokenAddress)) { revert(0, 0) }
    }
    
    // solium-disable-next-line security/no-low-level-calls
    (bool success, ) = _tokenAddress.call(abi.encodeWithSignature(
      "transferFrom(address,address,uint256)",
      msg.sender,
      _to,
      _amount
    ));

    assembly {
        switch returndatasize()
        case 0 { // not a standard erc20
            result := 1
        }
        case 32 { // standard erc20
            returndatacopy(0, 0, 32)
            result := mload(0)
        }
        default { // anything else, should revert for safety
            revert(0, 0)
        }
    }

    require(success, "transferFrom() has been reverted");

    /* solium-enable security/no-inline-assembly */
    return result;
  }
}

Contract Security Audit

Contract ABI

[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"tokenAddress","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"bytes","name":"paymentReference","type":"bytes"},{"indexed":false,"internalType":"uint256","name":"feeAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"feeAddress","type":"address"}],"name":"TransferWithReferenceAndFee","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":false,"inputs":[{"internalType":"address","name":"_tokenAddress","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"bytes","name":"_paymentReference","type":"bytes"},{"internalType":"uint256","name":"_feeAmount","type":"uint256"},{"internalType":"address","name":"_feeAddress","type":"address"}],"name":"transferFromWithReferenceAndFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5061065f806100206000396000f3fe60806040526004361061001e5760003560e01c8063c219a14d1461008c575b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f742070617961626c652066616c6c6261636b00000000000000000000000081525060200191505060405180910390fd5b34801561009857600080fd5b50610184600480360360c08110156100af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561011657600080fd5b82018360208201111561012857600080fd5b8035906020019184600183028401116401000000008311171561014a57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610186565b005b6101918787876103c6565b610203576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f7061796d656e74207472616e7366657246726f6d2829206661696c656400000081525060200191505060405180910390fd5b6000821180156102405750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156102c3576102508782846103c6565b6102c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f666565207472616e7366657246726f6d2829206661696c65640000000000000081525060200191505060405180910390fd5b5b838360405180838380828437808301925050509250505060405180910390207f9f16cbcc523c67a60c450e5ffe4f3b7b6dbe772e7abcadb2686ce029a9a0a2b68888888686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390a250505050505050565b6000833b6103d357600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff16338585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061051557805182526020820191506020810190506020830392506104f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610577576040519150601f19603f3d011682016040523d82523d6000602084013e61057c565b606091505b505090503d60008114610596576020811461059f57600080fd5b600192506105ab565b60206000803e60005192505b508061061f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f7472616e7366657246726f6d282920686173206265656e20726576657274656481525060200191505060405180910390fd5b81915050939250505056fea265627a7a72315820c6f132923802b0fe75b088b51751fdfa1deca9f04c82c451d7dddabd8742604764736f6c63430005110032

Deployed Bytecode

0x60806040526004361061001e5760003560e01c8063c219a14d1461008c575b6040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f6e6f742070617961626c652066616c6c6261636b00000000000000000000000081525060200191505060405180910390fd5b34801561009857600080fd5b50610184600480360360c08110156100af57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561011657600080fd5b82018360208201111561012857600080fd5b8035906020019184600183028401116401000000008311171561014a57600080fd5b909192939192939080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610186565b005b6101918787876103c6565b610203576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601d8152602001807f7061796d656e74207472616e7366657246726f6d2829206661696c656400000081525060200191505060405180910390fd5b6000821180156102405750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156102c3576102508782846103c6565b6102c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f666565207472616e7366657246726f6d2829206661696c65640000000000000081525060200191505060405180910390fd5b5b838360405180838380828437808301925050509250505060405180910390207f9f16cbcc523c67a60c450e5ffe4f3b7b6dbe772e7abcadb2686ce029a9a0a2b68888888686604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019550505050505060405180910390a250505050505050565b6000833b6103d357600080fd5b60008473ffffffffffffffffffffffffffffffffffffffff16338585604051602401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200193505050506040516020818303038152906040527f23b872dd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506040518082805190602001908083835b6020831061051557805182526020820191506020810190506020830392506104f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610577576040519150601f19603f3d011682016040523d82523d6000602084013e61057c565b606091505b505090503d60008114610596576020811461059f57600080fd5b600192506105ab565b60206000803e60005192505b508061061f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260208152602001807f7472616e7366657246726f6d282920686173206265656e20726576657274656481525060200191505060405180910390fd5b81915050939250505056fea265627a7a72315820c6f132923802b0fe75b088b51751fdfa1deca9f04c82c451d7dddabd8742604764736f6c63430005110032

Deployed Bytecode Sourcemap

182:2840:0:-;;;;;;;;;;;;;;;;;;544:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1037:647;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1037:647:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1037:647:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;1037:647:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;1037:647:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1037:647:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;1272:45;1289:13;1304:3;1309:7;1272:16;:45::i;:::-;1264:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1375:1;1362:10;:14;:43;;;;;1403:1;1380:25;;:11;:25;;;;1362:43;1358:160;;;1424:56;1441:13;1456:11;1469:10;1424:16;:56::i;:::-;1416:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1358:160;1615:17;;1529:149;;;;;30:3:-1;22:6;14;1:33;57:3;49:6;45:16;35:26;;1529:149:0;;;;;;;;;;;;;;1565:13;1587:3;1599:7;1641:10;1660:11;1529:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1037:647;;;;;;;:::o;1994:1025::-;2091:11;2248:13;2236:26;2226:2;;2276:1;2273;2266:12;2226:2;2361:12;2379:13;:18;;2478:10;2497:3;2509:7;2398:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;2398:125:0;;;;;;;38:4:-1;29:7;25:18;67:10;61:17;96:58;199:8;192:4;186;182:15;179:29;167:10;160:49;0:215;;;2398:125:0;2379:145;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;36:153;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;2379:145:0;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;2360:164:0;;;2560:16;2591:1;2586:68;;;;2669:2;2664:108;;;;2858:1;2855;2848:12;2586:68;2642:1;2632:11;;2586:68;;2664:108;2726:2;2723:1;2720;2705:24;2759:1;2753:8;2743:18;;2553:318;;2894:7;2886:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3007:6;3000:13;;;1994:1025;;;;;:::o

Swarm Source

bzzr://c6f132923802b0fe75b088b51751fdfa1deca9f04c82c451d7dddabd87426047

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ 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.