POL Price: $0.218526 (+1.44%)
Gas: 30 GWei
 

Overview

POL Balance

Polygon PoS Chain LogoPolygon PoS Chain LogoPolygon PoS Chain Logo0 POL

POL Value

$0.00

Token Holdings

Multichain Info

Transaction Hash
Method
Block
From
To
Stake690986492025-03-16 0:15:576 hrs ago1742084157IN
KlimaDAO: Staking
0 POL0.0110126730.00000002
Stake690127352025-03-13 21:12:002 days ago1741900320IN
KlimaDAO: Staking
0 POL0.0114348330.00000002
Stake690053752025-03-13 16:51:122 days ago1741884672IN
KlimaDAO: Staking
0 POL0.0197271353.73938519
Stake689476952025-03-12 6:31:074 days ago1741761067IN
KlimaDAO: Staking
0 POL0.0110126730.00000007
Stake689365512025-03-11 23:52:004 days ago1741737120IN
KlimaDAO: Staking
0 POL0.0110658330.00000003
Stake689070572025-03-11 6:12:155 days ago1741673535IN
KlimaDAO: Staking
0 POL0.0112096730.38997854
Stake688694542025-03-10 7:49:205 days ago1741592960IN
KlimaDAO: Staking
0 POL0.0114439330.0248443
Stake688422492025-03-09 15:37:426 days ago1741534662IN
KlimaDAO: Staking
0 POL0.0362196398.66718426
Stake688234842025-03-09 4:32:547 days ago1741494774IN
KlimaDAO: Staking
0 POL0.0114348330.00000003
Stake688099622025-03-08 20:30:277 days ago1741465827IN
KlimaDAO: Staking
0 POL0.0110654730.00000002
Stake687915022025-03-08 9:26:177 days ago1741425977IN
KlimaDAO: Staking
0 POL0.0110126730.00000623
Stake686709502025-03-05 9:29:3710 days ago1741166977IN
KlimaDAO: Staking
0 POL0.0313576782.26625173
Stake686412992025-03-04 15:33:3711 days ago1741102417IN
KlimaDAO: Staking
0 POL0.06562032178.75863243
Stake685481132025-03-02 7:22:5213 days ago1740900172IN
KlimaDAO: Staking
0 POL0.0110126730.00000003
Stake685184492025-03-01 13:45:1414 days ago1740836714IN
KlimaDAO: Staking
0 POL0.0110126730.00000643
Stake685061802025-03-01 6:29:3915 days ago1740810579IN
KlimaDAO: Staking
0 POL0.01130630.79909103
Stake684700232025-02-28 9:00:3215 days ago1740733232IN
KlimaDAO: Staking
0 POL0.07708601208.97711027
Stake684589842025-02-28 2:27:1416 days ago1740709634IN
KlimaDAO: Staking
0 POL0.04699004127.40056804
Stake684553852025-02-28 0:17:2016 days ago1740701840IN
KlimaDAO: Staking
0 POL0.0110126730.00000034
Stake683541602025-02-25 12:07:3718 days ago1740485257IN
KlimaDAO: Staking
0 POL0.05271908143.6139156
Stake683242132025-02-24 18:21:0819 days ago1740421268IN
KlimaDAO: Staking
0 POL0.0110671330.00257
Stake682942312025-02-24 0:24:3620 days ago1740356676IN
KlimaDAO: Staking
0 POL0.0049408830.00000076
Stake682884262025-02-23 20:49:5120 days ago1740343791IN
KlimaDAO: Staking
0 POL0.0147539640.00000002
Stake682815272025-02-23 16:43:3820 days ago1740329018IN
KlimaDAO: Staking
0 POL0.0113714630.97741069
Stake682071272025-02-21 20:13:5822 days ago1740168838IN
KlimaDAO: Staking
0 POL0.0090102154.70815037
View all transactions

Latest 1 internal transaction

Parent Transaction Hash Block From To
372374922022-12-24 23:53:29812 days ago1671926009
KlimaDAO: Staking
0.01 POL
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:
default evmVersion, MIT license
/**
 *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

Contract ABI

API
[{"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"}]

60c060405234801561001057600080fd5b506040516104573803806104578339818101604052604081101561003357600080fd5b5080516020909101516001600160a01b03821661004f57600080fd5b6001600160601b0319606083901b166080526001600160a01b03811661007457600080fd5b606081811b6001600160601b03191660a052608051901c91506001600160a01b031661038d6100ca6000398060e2528061019f52806103355250806093528061016e528061023d52806102d1525061038d6000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80634cf088d914610046578063a694fc3a1461006a578063e3ed12a014610089575b600080fd5b61004e610091565b604080516001600160a01b039092168252519081900360200190f35b6100876004803603602081101561008057600080fd5b50356100b5565b005b61004e610333565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916323b872dd9160648083019260209291908290030181600087803b15801561012a57600080fd5b505af115801561013e573d6000803e3d6000fd5b505050506040513d602081101561015457600080fd5b50506040805163095ea7b360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000811660048301526024820184905291517f00000000000000000000000000000000000000000000000000000000000000009092169163095ea7b3916044808201926020929091908290030181600087803b1580156101ea57600080fd5b505af11580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505060408051637acb775760e01b81526004810183905233602482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691637acb77579160448083019260209291908290030181600087803b15801561028557600080fd5b505af1158015610299573d6000803e3d6000fd5b505050506040513d60208110156102af57600080fd5b505060408051630f41a04d60e11b815233600482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631e83409a91602480830192600092919082900301818387803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b5050505050565b7f00000000000000000000000000000000000000000000000000000000000000008156fea264697066735822122034b887c7bc93336984245defc5894e6f4f5a36ae04284de75cb8e3a6ac22b12764736f6c6343000705003300000000000000000000000025d28a24ceb6f81015bb0b2007d795acac411b4d0000000000000000000000004e78011ce80ee02d2c3e649fb657e45898257815

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100415760003560e01c80634cf088d914610046578063a694fc3a1461006a578063e3ed12a014610089575b600080fd5b61004e610091565b604080516001600160a01b039092168252519081900360200190f35b6100876004803603602081101561008057600080fd5b50356100b5565b005b61004e610333565b7f00000000000000000000000025d28a24ceb6f81015bb0b2007d795acac411b4d81565b604080516323b872dd60e01b81523360048201523060248201526044810183905290516001600160a01b037f0000000000000000000000004e78011ce80ee02d2c3e649fb657e4589825781516916323b872dd9160648083019260209291908290030181600087803b15801561012a57600080fd5b505af115801561013e573d6000803e3d6000fd5b505050506040513d602081101561015457600080fd5b50506040805163095ea7b360e01b81526001600160a01b037f00000000000000000000000025d28a24ceb6f81015bb0b2007d795acac411b4d811660048301526024820184905291517f0000000000000000000000004e78011ce80ee02d2c3e649fb657e458982578159092169163095ea7b3916044808201926020929091908290030181600087803b1580156101ea57600080fd5b505af11580156101fe573d6000803e3d6000fd5b505050506040513d602081101561021457600080fd5b505060408051637acb775760e01b81526004810183905233602482015290516001600160a01b037f00000000000000000000000025d28a24ceb6f81015bb0b2007d795acac411b4d1691637acb77579160448083019260209291908290030181600087803b15801561028557600080fd5b505af1158015610299573d6000803e3d6000fd5b505050506040513d60208110156102af57600080fd5b505060408051630f41a04d60e11b815233600482015290516001600160a01b037f00000000000000000000000025d28a24ceb6f81015bb0b2007d795acac411b4d1691631e83409a91602480830192600092919082900301818387803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b5050505050565b7f0000000000000000000000004e78011ce80ee02d2c3e649fb657e458982578158156fea264697066735822122034b887c7bc93336984245defc5894e6f4f5a36ae04284de75cb8e3a6ac22b12764736f6c63430007050033

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

Block Transaction 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
[ 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.