# Staking IDRX

* **Function**: `newStake(uint amount, uint stakeType)`
* **Parameters**:
  * `amount`: The amount of IDRX to stake.
  * `stakeType`: The type of stake (1 to 4 refer to [staking-type](https://docs.idrx.co/smart-contract/staking/staking-type "mention")).&#x20;
* **Event** **Emitted**:

```solidity
event addNewStake(
    uint stakeId,
    uint stakeType,
    address staker,
    uint stakeAmount,
    uint rewardAmount,
    uint createdTimestamp,
    uint unlockTimestamp
);
```
