ETH Price: $3,440.72 (+1.45%)
Gas: 5 Gwei

Contract

0xe2e9a124E622Fea314A74Ae7274c2aFaca4058cE
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
0x149d647d78aaee245ce5d3a3ec4d3e4afcfed096a2328dd6c6530e751ca6285b Stake(pending)2024-06-23 2:19:285 days ago1719109168IN
Syncus: Staking Helper
0 ETH(Pending)(Pending)
Stake201498142024-06-22 21:06:115 days ago1719090371IN
Syncus: Staking Helper
0 ETH0.000673921.69857367
Stake201274622024-06-19 18:05:478 days ago1718820347IN
Syncus: Staking Helper
0 ETH0.0073378418.49479613
Stake200507222024-06-09 0:34:3519 days ago1717893275IN
Syncus: Staking Helper
0 ETH0.001678654.23089044
Stake200227002024-06-05 2:40:3523 days ago1717555235IN
Syncus: Staking Helper
0 ETH0.003432248.65043228
Stake200065892024-06-02 20:41:3525 days ago1717360895IN
Syncus: Staking Helper
0 ETH0.0079904920.13932742
Stake200065122024-06-02 20:25:3525 days ago1717359935IN
Syncus: Staking Helper
0 ETH0.0070181517.68817152
Stake199908362024-05-31 15:54:3527 days ago1717170875IN
Syncus: Staking Helper
0 ETH0.0091856523.15160184
Stake199782622024-05-29 21:42:1129 days ago1717018931IN
Syncus: Staking Helper
0 ETH0.003790039.55219307
Stake199722982024-05-29 1:39:4730 days ago1716946787IN
Syncus: Staking Helper
0 ETH0.000315098.44926703
Stake199722982024-05-29 1:39:4730 days ago1716946787IN
Syncus: Staking Helper
0 ETH0.003428518.35323703
Stake199673252024-05-28 8:59:1131 days ago1716886751IN
Syncus: Staking Helper
0 ETH0.0086767321.12530922
Stake199559332024-05-26 18:46:3532 days ago1716749195IN
Syncus: Staking Helper
0 ETH0.001634557.57117159
Stake199553082024-05-26 16:41:2332 days ago1716741683IN
Syncus: Staking Helper
0 ETH0.0026340213.0247554
Stake199503662024-05-26 0:07:2333 days ago1716682043IN
Syncus: Staking Helper
0 ETH0.000714363.53241172
Stake199503612024-05-26 0:06:2333 days ago1716681983IN
Syncus: Staking Helper
0 ETH0.001286793.243174
Stake199503362024-05-26 0:01:2333 days ago1716681683IN
Syncus: Staking Helper
0 ETH0.001336753.36908862
Stake199432702024-05-25 0:18:4734 days ago1716596327IN
Syncus: Staking Helper
0 ETH0.000797373.94286173
Stake199431992024-05-25 0:04:3534 days ago1716595475IN
Syncus: Staking Helper
0 ETH0.002124695.35521606
Stake199416652024-05-24 18:55:4734 days ago1716576947IN
Syncus: Staking Helper
0 ETH0.0021723910.06241219
Stake199296422024-05-23 2:36:3536 days ago1716431795IN
Syncus: Staking Helper
0 ETH0.00121516.00877996
Stake199218562024-05-22 0:28:1137 days ago1716337691IN
Syncus: Staking Helper
0 ETH0.001297526.41633232
Stake199212822024-05-21 22:31:4737 days ago1716330707IN
Syncus: Staking Helper
0 ETH0.002048639.48873226
Stake199211122024-05-21 21:57:2337 days ago1716328643IN
Syncus: Staking Helper
0 ETH0.0048515111.81997225
Stake199175742024-05-21 10:05:4738 days ago1716285947IN
Syncus: Staking Helper
0 ETH0.003225428.1293937
View all transactions

Latest 4 internal transactions

Advanced mode:
Parent Transaction Hash Block From To Value
194566422024-03-17 19:28:11102 days ago1710703691
Syncus: Staking Helper
0.01374701 ETH
194566372024-03-17 19:27:11102 days ago1710703631
Syncus: Staking Helper
0.01373055 ETH
194566222024-03-17 19:24:11102 days ago1710703451
Syncus: Staking Helper
0.01373526 ETH
194566032024-03-17 19:20:11102 days ago1710703211
Syncus: Staking Helper
0.01373396 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StakingHelper

Compiler Version
v0.7.5+commit.eb77ed08

Optimization Enabled:
Yes with 200 runs

Other Settings:
istanbul EvmVersion
File 1 of 3 : StakingHelper.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;

import "./lib/IERC20.sol";
import "./lib/IStaking.sol";

contract StakingHelper {
    address public immutable staking;
    address public immutable Sync;

    constructor(address _staking, address _Sync) {
        require(_staking != address(0));
        staking = _staking;
        require(_Sync != address(0));
        Sync = _Sync;
    }

    function stake(uint _amount, address recipient) external {
        IERC20(Sync).transferFrom(msg.sender, address(this), _amount);
        IERC20(Sync).approve(staking, _amount);
        IStaking(staking).stake(_amount, recipient);
        IStaking(staking).claim(recipient);
    }
}

File 2 of 3 : IERC20.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;

interface IERC20 {
    function decimals() external view returns (uint8);

    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(
        address owner,
        address spender
    ) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

File 3 of 3 : IStaking.sol
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;

interface IStaking {
    function stake(uint _amount, address _recipient) external returns (bool);

    function claim(address _recipient) external;

    struct Epoch {
        uint number;
        uint distribute;
        uint32 length;
        uint32 endTime;
    }


    function setEpochDistribution(uint _amount) external;


}

Settings
{
  "remappings": [
    "ds-test/=lib/forge-std/lib/ds-test/src/",
    "erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/",
    "forge-std/=lib/forge-std/src/",
    "openzeppelin-contracts/=lib/openzeppelin-contracts/",
    "openzeppelin/=lib/openzeppelin-contracts/contracts/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs"
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "istanbul",
  "libraries": {}
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_staking","type":"address"},{"internalType":"address","name":"_Sync","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Sync","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"staking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60c060405234801561001057600080fd5b506040516104713803806104718339818101604052604081101561003357600080fd5b5080516020909101516001600160a01b03821661004f57600080fd5b6001600160601b0319606083901b166080526001600160a01b03811661007457600080fd5b606081811b6001600160601b03191660a052608051901c91506001600160a01b03166103a76100ca6000398060f152806101ae528061034f52508060a2528061017d528061024e52806102e752506103a76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634cf088d9146100465780637acb77571461006a578063da35e06c14610098575b600080fd5b61004e6100a0565b604080516001600160a01b039092168252519081900360200190f35b6100966004803603604081101561008057600080fd5b50803590602001356001600160a01b03166100c4565b005b61004e61034d565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd9160648083019260209291908290030181600087803b15801561013957600080fd5b505af115801561014d573d6000803e3d6000fd5b505050506040513d602081101561016357600080fd5b50506040805163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820185905291517f00000000000000000000000000000000000000000000000000000000000000009092169163095ea7b3916044808201926020929091908290030181600087803b1580156101f957600080fd5b505af115801561020d573d6000803e3d6000fd5b505050506040513d602081101561022357600080fd5b505060408051637acb775760e01b8152600481018490526001600160a01b03838116602483015291517f000000000000000000000000000000000000000000000000000000000000000090921691637acb7757916044808201926020929091908290030181600087803b15801561029957600080fd5b505af11580156102ad573d6000803e3d6000fd5b505050506040513d60208110156102c357600080fd5b505060408051630f41a04d60e11b81526001600160a01b03838116600483015291517f000000000000000000000000000000000000000000000000000000000000000090921691631e83409a9160248082019260009290919082900301818387803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea264697066735822122078f7e82516867d4e394d0a6441157e68d0514cbd8cd92c626beda781693593c664736f6c63430007050033000000000000000000000000c738cdb5140d6b7f688ba05a25c8a51568622d96000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100415760003560e01c80634cf088d9146100465780637acb77571461006a578063da35e06c14610098575b600080fd5b61004e6100a0565b604080516001600160a01b039092168252519081900360200190f35b6100966004803603604081101561008057600080fd5b50803590602001356001600160a01b03166100c4565b005b61004e61034d565b7f000000000000000000000000c738cdb5140d6b7f688ba05a25c8a51568622d9681565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b037f000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f016916323b872dd9160648083019260209291908290030181600087803b15801561013957600080fd5b505af115801561014d573d6000803e3d6000fd5b505050506040513d602081101561016357600080fd5b50506040805163095ea7b360e01b81526001600160a01b037f000000000000000000000000c738cdb5140d6b7f688ba05a25c8a51568622d96811660048301526024820185905291517f000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f09092169163095ea7b3916044808201926020929091908290030181600087803b1580156101f957600080fd5b505af115801561020d573d6000803e3d6000fd5b505050506040513d602081101561022357600080fd5b505060408051637acb775760e01b8152600481018490526001600160a01b03838116602483015291517f000000000000000000000000c738cdb5140d6b7f688ba05a25c8a51568622d9690921691637acb7757916044808201926020929091908290030181600087803b15801561029957600080fd5b505af11580156102ad573d6000803e3d6000fd5b505050506040513d60208110156102c357600080fd5b505060408051630f41a04d60e11b81526001600160a01b03838116600483015291517f000000000000000000000000c738cdb5140d6b7f688ba05a25c8a51568622d9690921691631e83409a9160248082019260009290919082900301818387803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b505050505050565b7f000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f08156fea264697066735822122078f7e82516867d4e394d0a6441157e68d0514cbd8cd92c626beda781693593c664736f6c63430007050033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000c738cdb5140d6b7f688ba05a25c8a51568622d96000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0

-----Decoded View---------------
Arg [0] : _staking (address): 0xc738CDb5140d6b7F688ba05a25c8a51568622D96
Arg [1] : _Sync (address): 0xa41d2f8Ee4F47D3B860A149765A7dF8c3287b7F0

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000c738cdb5140d6b7f688ba05a25c8a51568622d96
Arg [1] : 000000000000000000000000a41d2f8ee4f47d3b860a149765a7df8c3287b7f0


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  ]
[ 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.