My Name Tag:
Not Available, login to update
[ Download CSV Export ]
Latest 1 internal transaction
Parent Txn Hash | Block | From | To | Value | |||
---|---|---|---|---|---|---|---|
0x74f7607d9fdf1fdb375060a2dd035edd0ae52ba3d55cd0fdfa0c5f72d8698c92 | 37237492 | 154 days 18 hrs ago | 0x121330fa1e71cd3053e4c5f675feb4182c934514 | KlimaDAO: Staking | 0.01 MATIC |
[ Download CSV Export ]
Contract Name:
StakingHelper
Compiler Version
v0.7.5+commit.eb77ed08
Contract Source Code (Solidity)
/** *Submitted for verification at polygonscan.com on 2021-10-17 */ // 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 KLIMA; constructor ( address _staking, address _KLIMA ) { require( _staking != address(0) ); staking = _staking; require( _KLIMA != address(0) ); KLIMA = _KLIMA; } function stake( uint _amount ) external { IERC20( KLIMA ).transferFrom( msg.sender, address(this), _amount ); IERC20( KLIMA ).approve( staking, _amount ); IStaking( staking ).stake( _amount, msg.sender ); IStaking( staking ).claim( msg.sender ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_staking","type":"address"},{"internalType":"address","name":"_KLIMA","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"KLIMA","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"stake","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"staking","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
60c060405234801561001057600080fd5b506040516104573803806104578339818101604052604081101561003357600080fd5b5080516020909101516001600160a01b03821661004f57600080fd5b6001600160601b0319606083901b166080526001600160a01b03811661007457600080fd5b606081811b6001600160601b03191660a052608051901c91506001600160a01b031661038d6100ca6000398060e2528061019f52806103355250806093528061016e528061023d52806102d1525061038d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634cf088d914610046578063a694fc3a1461006a578063e3ed12a014610089575b600080fd5b61004e610091565b604080516001600160a01b039092168252519081900360200190f35b6100876004803603602081101561008057600080fd5b50356100b5565b005b61004e610333565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd9160648083019260209291908290030181600087803b15801561012a57600080fd5b505af115801561013e573d6000803e3d6000fd5b505050506040513d602081101561015457600080fd5b50506040805163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905291517f00000000000000000000000000000000000000000000000000000000000000009092169163095ea7b3916044808201926020929091908290030181600087803b1580156101ea57600080fd5b505af11580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505060408051637acb775760e01b81526004810183905233602482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691637acb77579160448083019260209291908290030181600087803b15801561028557600080fd5b505af1158015610299573d6000803e3d6000fd5b505050506040513d60208110156102af57600080fd5b505060408051630f41a04d60e11b815233600482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631e83409a91602480830192600092919082900301818387803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea264697066735822122034b887c7bc93336984245defc5894e6f4f5a36ae04284de75cb8e3a6ac22b12764736f6c6343000705003300000000000000000000000025d28a24ceb6f81015bb0b2007d795acac411b4d0000000000000000000000004e78011ce80ee02d2c3e649fb657e45898257815
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000025d28a24ceb6f81015bb0b2007d795acac411b4d0000000000000000000000004e78011ce80ee02d2c3e649fb657e45898257815
-----Decoded View---------------
Arg [0] : _staking (address): 0x25d28a24ceb6f81015bb0b2007d795acac411b4d
Arg [1] : _KLIMA (address): 0x4e78011ce80ee02d2c3e649fb657e45898257815
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000025d28a24ceb6f81015bb0b2007d795acac411b4d
Arg [1] : 0000000000000000000000004e78011ce80ee02d2c3e649fb657e45898257815
Deployed ByteCode Sourcemap
2932:606:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2964:32;;;:::i;:::-;;;;-1:-1:-1;;;;;2964:32:0;;;;;;;;;;;;;;3247:288;;;;;;;;;;;;;;;;-1:-1:-1;3247:288:0;;:::i;:::-;;3003:30;;;:::i;2964:32::-;;;:::o;3247:288::-;3298:66;;;-1:-1:-1;;;3298:66:0;;3328:10;3298:66;;;;3348:4;3298:66;;;;;;;;;;;;-1:-1:-1;;;;;3306:5:0;3298:28;;;;:66;;;;;;;;;;;;;;-1:-1:-1;3298:28:0;:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3375:43:0;;;-1:-1:-1;;;3375:43:0;;-1:-1:-1;;;;;3400:7:0;3375:43;;;;;;;;;;;;;;3383:5;3375:23;;;;;;:43;;;;;3298:66;;3375:43;;;;;;;;-1:-1:-1;3375:23:0;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3429:48:0;;;-1:-1:-1;;;3429:48:0;;;;;;;;3465:10;3429:48;;;;;;-1:-1:-1;;;;;3439:7:0;3429:25;;;;:48;;;;;3375:43;;3429:48;;;;;;;-1:-1:-1;3429:25:0;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3488:39:0;;;-1:-1:-1;;;3488:39:0;;3515:10;3488:39;;;;;;-1:-1:-1;;;;;3498:7:0;3488:25;;;;:39;;;;;-1:-1:-1;;3488:39:0;;;;;;;-1:-1:-1;3488:25:0;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3247:288;:::o;3003:30::-;;;:::o
Swarm Source
ipfs://34b887c7bc93336984245defc5894e6f4f5a36ae04284de75cb8e3a6ac22b127
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.