{"id":25770480,"url":"https://github.com/denizumutdereli/fully-managable-staking-contract","last_synced_at":"2025-07-11T00:33:36.077Z","repository":{"id":245017986,"uuid":"817015829","full_name":"denizumutdereli/fully-managable-staking-contract","owner":"denizumutdereli","description":"The `Staking` contract manages staking, unstaking, and reward claiming functionalities","archived":false,"fork":false,"pushed_at":"2024-06-18T21:08:21.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T02:43:21.757Z","etag":null,"topics":["blockchain","smart-contracts","staking","staking-contract","staking-pools"],"latest_commit_sha":null,"homepage":"","language":"Solidity","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denizumutdereli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-18T21:07:31.000Z","updated_at":"2024-06-18T21:08:58.000Z","dependencies_parsed_at":"2024-06-22T22:19:37.234Z","dependency_job_id":null,"html_url":"https://github.com/denizumutdereli/fully-managable-staking-contract","commit_stats":null,"previous_names":["denizumutdereli/fully-managable-staking-contract"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/denizumutdereli/fully-managable-staking-contract","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denizumutdereli%2Ffully-managable-staking-contract","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denizumutdereli%2Ffully-managable-staking-contract/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denizumutdereli%2Ffully-managable-staking-contract/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denizumutdereli%2Ffully-managable-staking-contract/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denizumutdereli","download_url":"https://codeload.github.com/denizumutdereli/fully-managable-staking-contract/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denizumutdereli%2Ffully-managable-staking-contract/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264697557,"owners_count":23650955,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blockchain","smart-contracts","staking","staking-contract","staking-pools"],"created_at":"2025-02-27T02:32:37.463Z","updated_at":"2025-07-11T00:33:36.065Z","avatar_url":"https://github.com/denizumutdereli.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Staking Smart Contract\n\n## Overview\n\nThe `Staking` contract manages staking, unstaking, and reward claiming functionalities. It allows users to participate in multiple staking schedules, each with its own parameters such as duration, rate, penalty, and allocation. The contract ensures secure token transfers and validates contract interactions. It also allows the owner to update configurations, manage schedules, and rescue tokens.\n\n## Tech Stack\n\n- **Solidity**\n- **OpenZeppelin Contracts**\n  - `SafeERC20`\n  - `Pausable`\n  - `ReentrancyGuard`\n  - `EnumerableSet`\n\n## Features\n\n- **Staking and Unstaking**: Users can stake tokens into predefined schedules and unstake them with potential penalties.\n- **Reward Claiming**: Users can claim rewards based on the staking schedule.\n- **Multiple Schedules \u0026 Staking Agreements**: Supports multiple staking schedules with unique configurations.\n- **Administrative Control**: Update configurations, manage staking schedules, and rescue tokens.\n- **Event Notifications**: Emit events for key actions like staking, unstaking, and reward claiming.\n\n## Events\n\n- `VestingClaimContractUpdated`\n- `ThresholdForDurationUpdated`\n- `ThresholdForRatesUpdated`\n- `MinimumStakeAmountUpdated`\n- `VestingTokensClaimed`\n- `StakingScheduleCreated`\n- `StakingScheduleStarted`\n- `Staked`\n- `Unstaked`\n- `ClaimRewards`\n- `Withdrawal`\n\n## Security\n\n- **Pausable Functionality**: Allows pausing of contract operations in case of emergency.\n- **Reentrancy Protection**: Prevents reentrancy attacks for secure contract interactions.\n\n## Contributing\n\nContributions to expand or improve the repository are welcome! \n\n[@denizumutdereli](https://www.linkedin.com/in/denizumutdereli)\n\nAnd please have a check other series of contracts that I have built for [@lasmetaio](https://github.com/lasmetaio)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenizumutdereli%2Ffully-managable-staking-contract","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenizumutdereli%2Ffully-managable-staking-contract","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenizumutdereli%2Ffully-managable-staking-contract/lists"}