{"id":28376788,"url":"https://github.com/threshold-network/staking-rewards-proxy","last_synced_at":"2026-04-28T17:33:54.027Z","repository":{"id":161428349,"uuid":"635276123","full_name":"threshold-network/staking-rewards-proxy","owner":"threshold-network","description":"Threshold network staking rewards proxy implementation","archived":false,"fork":false,"pushed_at":"2023-05-10T17:03:01.000Z","size":167,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-26T14:50:20.997Z","etag":null,"topics":["dsproxy","hardhat","proxy","solidity","threshold"],"latest_commit_sha":null,"homepage":"https://threshold.network","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/threshold-network.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2023-05-02T10:56:07.000Z","updated_at":"2023-05-10T17:33:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"65818cc9-9e7b-44d4-9105-b7a40171fbb1","html_url":"https://github.com/threshold-network/staking-rewards-proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/threshold-network/staking-rewards-proxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Fstaking-rewards-proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Fstaking-rewards-proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Fstaking-rewards-proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Fstaking-rewards-proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/threshold-network","download_url":"https://codeload.github.com/threshold-network/staking-rewards-proxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/threshold-network%2Fstaking-rewards-proxy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32392297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["dsproxy","hardhat","proxy","solidity","threshold"],"created_at":"2025-05-30T00:07:52.154Z","updated_at":"2026-04-28T17:33:54.021Z","avatar_url":"https://github.com/threshold-network.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Staking Rewards Proxy implementation\n\nThis repo contains the ProxyLogic smartcontracts. These are part of the staking rewards distribution\nstrategy of the Threshold Network:\n\n![Threshold staking rewards workflow](assets/RewardsWorkflow.png)\n\n1. There is an amount of T allocated for the Threshold staking rewards that are going to be\n   distributed in the future. For better management of the Threshold treasury and security reasons,\n   these future rewards have been deposited on a [DSProxy](https://github.com/dapphub/ds-proxy)\n   contract whose owner is the Council multisig wallet. This is the [future rewards\n   proxy](https://etherscan.io/address/0xbe3e95dc12c0ae3fac264bf63ef89ec81139e3df)\n2. We also have a [claimable rewards\n   proxy](https://etherscan.io/address/0xec8183891331a845e2dcf5cd616ee32736e2baa4) where the\n   calculated month-distribution rewards are sent month by month.\n3. The [MerkleDistribution](https://etherscan.io/address/0xea7ca290c7811d1cc2e79f8d706bd05d8280bd37)\n   contract is responsible for allocating the rewards for each staker. When a staker `claim` the\n   rewards, the T amount is sent from `claimingRewards` to the corresponding one.\n4. For security reasons and to get a more efficient and error-proof workflow, this process is made\n   by the special contract: `ProxyLogic`. The methods of these (proxy) contracts are called by\n   `futureRewards` and join several smartcontract calls in only one, automating the process and\n   making the process easier for the council. The methods of `ProxyLogic` are called by the\n   `execute()` method in DSProxy.\n\n## Smartcontract deployments\n\n| Contract     | Address                                    |\n| ------------ | ------------------------------------------ |\n| ProxyLogicV1 | 0xa604C363d44e04da91F55E6146D09ecDD004f678 |\n| ProxyLogicV2 | 0xE9ec5e1c6956625D2F3e08A46D9f5f4c62B563f7 |\n\n## Testing\n\nTests have been built using Hardhat framework.\n\nYou can install the needed dependencies by:\n\n```bash\n$ npm install\n```\n\nTo run the tests is needed to have a .env file with the following. Since Hardhat forking requires an\narchive node, Alchemy is recommended.\n\n```Dotenv\nFORKING_BLOCK=17179805\nFORKING_URL=https://eth-mainnet.g.alchemy.com/v2/\u003cAPI_KEY\u003e\n```\n\n```bash\n$ npx hardhat test\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreshold-network%2Fstaking-rewards-proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthreshold-network%2Fstaking-rewards-proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthreshold-network%2Fstaking-rewards-proxy/lists"}