Contract
0x6400db179d786eb63661c012a9b6ed7f30c3a435
1
Contract Overview
My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Contract Name:
StakingHelper
Compiler Version
v0.7.5+commit.eb77ed08
Contract Source Code (Solidity)
/** *Submitted for verification at snowtrace.io on 2021-11-15 */ // 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); } interface IStaking { function stake( uint _amount, address _recipient ) external returns ( bool ); function claim( address _recipient ) external; } contract StakingHelper { address public immutable staking; address public immutable Time; constructor ( address _staking, address _Time ) { require( _staking != address(0) ); staking = _staking; require( _Time != address(0) ); Time = _Time; } function stake( uint _amount, address recipient ) external { IERC20( Time ).transferFrom( msg.sender, address(this), _amount ); IERC20( Time ).approve( staking, _amount ); IStaking( staking ).stake( _amount, recipient ); IStaking( staking ).claim( recipient ); } }
[{"inputs":[{"internalType":"address","name":"_staking","type":"address"},{"internalType":"address","name":"_Time","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"Time","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"}]
Contract Creation Code
60c060405234801561001057600080fd5b506040516104713803806104718339818101604052604081101561003357600080fd5b5080516020909101516001600160a01b03821661004f57600080fd5b6001600160601b0319606083901b166080526001600160a01b03811661007457600080fd5b606081811b6001600160601b03191660a052608051901c91506001600160a01b03166103a76100ca6000398060f152806101ae528061034f52508060a2528061017d528061024e52806102e752506103a76000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634cf088d9146100465780637acb77571461006a578063f8e157ea14610098575b600080fd5b61004e6100a0565b604080516001600160a01b039092168252519081900360200190f35b6100966004803603604081101561008057600080fd5b50803590602001356001600160a01b03166100c4565b005b61004e61034d565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd9160648083019260209291908290030181600087803b15801561013957600080fd5b505af115801561014d573d6000803e3d6000fd5b505050506040513d602081101561016357600080fd5b50506040805163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820185905291517f00000000000000000000000000000000000000000000000000000000000000009092169163095ea7b3916044808201926020929091908290030181600087803b1580156101f957600080fd5b505af115801561020d573d6000803e3d6000fd5b505050506040513d602081101561022357600080fd5b505060408051637acb775760e01b8152600481018490526001600160a01b03838116602483015291517f000000000000000000000000000000000000000000000000000000000000000090921691637acb7757916044808201926020929091908290030181600087803b15801561029957600080fd5b505af11580156102ad573d6000803e3d6000fd5b505050506040513d60208110156102c357600080fd5b505060408051630f41a04d60e11b81526001600160a01b03838116600483015291517f000000000000000000000000000000000000000000000000000000000000000090921691631e83409a9160248082019260009290919082900301818387803b15801561033157600080fd5b505af1158015610345573d6000803e3d6000fd5b505050505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea2646970667358221220bb5c0a9802bfc30e4fe308c055e5b3fe2275893ea8feddf5ee6c5a08154546fc64736f6c6343000705003300000000000000000000000047953c729a571ef331e92d537adc45985976c756000000000000000000000000b8ef3a190b68175000b74b4160d325fd5024760e
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000047953c729a571ef331e92d537adc45985976c756000000000000000000000000b8ef3a190b68175000b74b4160d325fd5024760e
-----Decoded View---------------
Arg [0] : _staking (address): 0x47953c729a571ef331e92d537adc45985976c756
Arg [1] : _Time (address): 0xb8ef3a190b68175000b74b4160d325fd5024760e
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000047953c729a571ef331e92d537adc45985976c756
Arg [1] : 000000000000000000000000b8ef3a190b68175000b74b4160d325fd5024760e
Deployed ByteCode Sourcemap
2810:616:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2842:32;;;:::i;:::-;;;;-1:-1:-1;;;;;2842:32:0;;;;;;;;;;;;;;3120:303;;;;;;;;;;;;;;;;-1:-1:-1;3120:303:0;;;;;;-1:-1:-1;;;;;3120:303:0;;:::i;:::-;;2881:29;;;:::i;2842:32::-;;;:::o;3120:303::-;3190:65;;;-1:-1:-1;;;3190:65:0;;3219:10;3190:65;;;;3239:4;3190:65;;;;;;;;;;;;-1:-1:-1;;;;;3198:4:0;3190:27;;;;:65;;;;;;;;;;;;;;-1:-1:-1;3190:27:0;:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3266:42:0;;;-1:-1:-1;;;3266:42:0;;-1:-1:-1;;;;;3290:7:0;3266:42;;;;;;;;;;;;;;3274:4;3266:22;;;;;;:42;;;;;3190:65;;3266:42;;;;;;;;-1:-1:-1;3266:22:0;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3319:47:0;;;-1:-1:-1;;;3319:47:0;;;;;;;;-1:-1:-1;;;;;3319:47:0;;;;;;;;;3329:7;3319:25;;;;;;:47;;;;;3266:42;;3319:47;;;;;;;;-1:-1:-1;3319:25:0;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3377:38:0;;;-1:-1:-1;;;3377:38:0;;-1:-1:-1;;;;;3377:38:0;;;;;;;;;3387:7;3377:25;;;;;;:38;;;;;-1:-1:-1;;3377:38:0;;;;;;;;-1:-1:-1;3377:25:0;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3120:303;;:::o;2881:29::-;;;:::o
Swarm Source
ipfs://bb5c0a9802bfc30e4fe308c055e5b3fe2275893ea8feddf5ee6c5a08154546fc
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.