ETH Price: $3,541.26 (+0.74%)
Gas: 1.34 Gwei

Contract

0x370DE27fdb7D1Ff1e1BaA7D11c5820a324Cf623C
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer From Wi...237695142025-11-10 14:39:3557 mins ago1762785575IN
0x370DE27f...324Cf623C
0 ETH0.000100921.1064863
Transfer From Wi...237692222025-11-10 13:40:351 hr ago1762782035IN
0x370DE27f...324Cf623C
0 ETH0.000190992.43184549
Transfer From Wi...237690452025-11-10 13:04:472 hrs ago1762779887IN
0x370DE27f...324Cf623C
0 ETH0.000048330.55940758
Transfer From Wi...237686962025-11-10 11:54:473 hrs ago1762775687IN
0x370DE27f...324Cf623C
0 ETH0.000026920.29521602
Transfer From Wi...237684002025-11-10 10:55:114 hrs ago1762772111IN
0x370DE27f...324Cf623C
0 ETH0.00015891.74239639
Transfer From Wi...237676972025-11-10 8:33:597 hrs ago1762763639IN
0x370DE27f...324Cf623C
0 ETH0.000120531.62686432
Transfer From Wi...237671672025-11-10 6:47:358 hrs ago1762757255IN
0x370DE27f...324Cf623C
0 ETH0.000144091.57997872
Transfer From Wi...237631862025-11-09 17:27:1122 hrs ago1762709231IN
0x370DE27f...324Cf623C
0 ETH0.000143331.57189648
Transfer From Wi...237624572025-11-09 15:00:2324 hrs ago1762700423IN
0x370DE27f...324Cf623C
0 ETH0.000098661.7492868
Transfer From Wi...237561352025-11-08 17:48:5945 hrs ago1762624139IN
0x370DE27f...324Cf623C
0 ETH0.000154511.78866557
Transfer From Wi...237534472025-11-08 8:47:592 days ago1762591679IN
0x370DE27f...324Cf623C
0 ETH0.000017690.19400975
Transfer From Wi...237532332025-11-08 8:04:592 days ago1762589099IN
0x370DE27f...324Cf623C
0 ETH0.000140151.90673849
Transfer From Wi...237522502025-11-08 4:46:592 days ago1762577219IN
0x370DE27f...324Cf623C
0 ETH0.000099851.63161702
Transfer From Wi...237497022025-11-07 20:13:592 days ago1762546439IN
0x370DE27f...324Cf623C
0 ETH0.000159612.22002231
Transfer From Wi...237491552025-11-07 18:24:112 days ago1762539851IN
0x370DE27f...324Cf623C
0 ETH0.000238634.24889284
Transfer From Wi...237482472025-11-07 15:20:353 days ago1762528835IN
0x370DE27f...324Cf623C
0 ETH0.00034413.77360776
Transfer From Wi...237479302025-11-07 14:17:113 days ago1762525031IN
0x370DE27f...324Cf623C
0 ETH0.000202252.57553356
Transfer From Wi...237479052025-11-07 14:12:113 days ago1762524731IN
0x370DE27f...324Cf623C
0 ETH0.000233233.24386299
Transfer From Wi...237462672025-11-07 8:41:353 days ago1762504895IN
0x370DE27f...324Cf623C
0 ETH0.000175571.92570011
Transfer From Wi...237460542025-11-07 7:58:593 days ago1762502339IN
0x370DE27f...324Cf623C
0 ETH0.000178951.9624965
Transfer From Wi...237440862025-11-07 1:21:473 days ago1762478507IN
0x370DE27f...324Cf623C
0 ETH0.000019260.31350547
Transfer From Wi...237440822025-11-07 1:20:593 days ago1762478459IN
0x370DE27f...324Cf623C
0 ETH0.000024790.31565953
Transfer From Wi...237440802025-11-07 1:20:353 days ago1762478435IN
0x370DE27f...324Cf623C
0 ETH0.000024850.31648046
Transfer From Wi...237440662025-11-07 1:17:473 days ago1762478267IN
0x370DE27f...324Cf623C
0 ETH0.000021890.27877853
Transfer From Wi...237440592025-11-07 1:16:233 days ago1762478183IN
0x370DE27f...324Cf623C
0 ETH0.000017580.28743397
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

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

API
[{"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 Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.