ETH Price: $3,372.29 (-1.44%)
Gas: 6.3 Gwei

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...212737632024-11-26 18:37:599 hrs ago1732646279IN
0x370DE27f...324Cf623C
0 ETH0.0018039423.51985345
Transfer From Wi...212728882024-11-26 15:42:2312 hrs ago1732635743IN
0x370DE27f...324Cf623C
0 ETH0.0011233918.28408787
Transfer From Wi...212722392024-11-26 13:32:1114 hrs ago1732627931IN
0x370DE27f...324Cf623C
0 ETH0.0018069419.81556204
Transfer From Wi...212722222024-11-26 13:28:4714 hrs ago1732627727IN
0x370DE27f...324Cf623C
0 ETH0.002389323.52514696
Transfer From Wi...212715852024-11-26 11:20:2316 hrs ago1732620023IN
0x370DE27f...324Cf623C
0 ETH0.000673312.14871014
Transfer From Wi...212715662024-11-26 11:16:3516 hrs ago1732619795IN
0x370DE27f...324Cf623C
0 ETH0.0007109612.8281729
Transfer From Wi...212714992024-11-26 11:03:1117 hrs ago1732618991IN
0x370DE27f...324Cf623C
0 ETH0.0007568713.656586
Transfer From Wi...212714882024-11-26 11:00:4717 hrs ago1732618847IN
0x370DE27f...324Cf623C
0 ETH0.000635468.76236057
Transfer From Wi...212714142024-11-26 10:45:5917 hrs ago1732617959IN
0x370DE27f...324Cf623C
0 ETH0.001017619.3983802
Transfer From Wi...212712492024-11-26 10:12:4717 hrs ago1732615967IN
0x370DE27f...324Cf623C
0 ETH0.000643977.62859018
Transfer From Wi...212710122024-11-26 9:25:1118 hrs ago1732613111IN
0x370DE27f...324Cf623C
0 ETH0.000739458.10915628
Transfer From Wi...212709832024-11-26 9:19:2318 hrs ago1732612763IN
0x370DE27f...324Cf623C
0 ETH0.000843969.25522547
Transfer From Wi...212683952024-11-26 0:38:3527 hrs ago1732581515IN
0x370DE27f...324Cf623C
0 ETH0.000723377.93067675
Transfer From Wi...212682942024-11-26 0:18:2327 hrs ago1732580303IN
0x370DE27f...324Cf623C
0 ETH0.000638758.61873455
Transfer From Wi...212682382024-11-26 0:07:1128 hrs ago1732579631IN
0x370DE27f...324Cf623C
0 ETH0.000855099.37475564
Transfer From Wi...212662572024-11-25 17:27:3534 hrs ago1732555655IN
0x370DE27f...324Cf623C
0 ETH0.0012542215.97153453
Transfer From Wi...212655472024-11-25 15:04:3537 hrs ago1732547075IN
0x370DE27f...324Cf623C
0 ETH0.0033964537.24183464
Transfer From Wi...212650182024-11-25 13:17:3538 hrs ago1732540655IN
0x370DE27f...324Cf623C
0 ETH0.0015363318.19702156
Transfer From Wi...212647992024-11-25 12:33:2339 hrs ago1732538003IN
0x370DE27f...324Cf623C
0 ETH0.0012148213.32397123
Transfer From Wi...212646722024-11-25 12:07:4740 hrs ago1732536467IN
0x370DE27f...324Cf623C
0 ETH0.0011034314.89353861
Transfer From Wi...212646672024-11-25 12:06:4740 hrs ago1732536407IN
0x370DE27f...324Cf623C
0 ETH0.0011021214.87346323
Transfer From Wi...212641122024-11-25 10:15:1141 hrs ago1732529711IN
0x370DE27f...324Cf623C
0 ETH0.0007842410.81029835
Transfer From Wi...212634032024-11-25 7:52:5944 hrs ago1732521179IN
0x370DE27f...324Cf623C
0 ETH0.000778868.53908161
Transfer From Wi...212630042024-11-25 6:32:5945 hrs ago1732516379IN
0x370DE27f...324Cf623C
0 ETH0.000696727.91374062
Transfer From Wi...212628312024-11-25 5:57:5946 hrs ago1732514279IN
0x370DE27f...324Cf623C
0 ETH0.000553456.55347948
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.