{"id":25909743,"url":"https://github.com/casweeney/staking-multiple-reward-tokens","last_synced_at":"2026-02-24T21:32:22.004Z","repository":{"id":258260359,"uuid":"873721445","full_name":"casweeney/staking-multiple-reward-tokens","owner":"casweeney","description":"This is a modified Synthetix staking implementation that uses more than one ERC20 token as reward tokens.","archived":false,"fork":false,"pushed_at":"2024-10-18T15:20:06.000Z","size":41,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-03T08:18:40.696Z","etag":null,"topics":["cairo","cairo-lang","multiple-rewards","staking","staking-contract","staking-rewards","starknet"],"latest_commit_sha":null,"homepage":"","language":"Cairo","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/casweeney.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}},"created_at":"2024-10-16T15:53:46.000Z","updated_at":"2024-10-20T21:59:16.000Z","dependencies_parsed_at":"2024-10-18T07:24:12.256Z","dependency_job_id":null,"html_url":"https://github.com/casweeney/staking-multiple-reward-tokens","commit_stats":null,"previous_names":["casweeney/staking-multiple-reward-tokens"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/casweeney/staking-multiple-reward-tokens","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casweeney%2Fstaking-multiple-reward-tokens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casweeney%2Fstaking-multiple-reward-tokens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casweeney%2Fstaking-multiple-reward-tokens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casweeney%2Fstaking-multiple-reward-tokens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/casweeney","download_url":"https://codeload.github.com/casweeney/staking-multiple-reward-tokens/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/casweeney%2Fstaking-multiple-reward-tokens/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29801021,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-24T21:02:39.706Z","status":"ssl_error","status_checked_at":"2026-02-24T21:02:21.834Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":["cairo","cairo-lang","multiple-rewards","staking","staking-contract","staking-rewards","starknet"],"created_at":"2025-03-03T08:18:42.813Z","updated_at":"2026-02-24T21:32:21.969Z","avatar_url":"https://github.com/casweeney.png","language":"Cairo","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Staking multiple reward tokens\n\nThis is a modified Synthetix staking implementation that uses more than one ERC20 token as reward tokens.\n\n## How it works\nUsing similar staking mechanism as the Synthetix staking reward contract, the multiple reward tokens allows that users can set more than one ERC20 token as reward which means, when a user stakes, they can get more than one reward tokens as their reward for staking.\u003cbr /\u003e\n\nThis contract using a staking position that separates each user's stake. When a user stakes multiple times e.g 3 times, all 3 stakes are independent, the staking amount is not cumulative.\n\n## Testing\nTest cases were covered using unit and feature testing. We also did onchain interaction to test functions using https://sepolia.voyager.online with the following deployed contract addresses:\n\n\nSee interactions: https://sepolia.voyager.online/contract/0x0204699f98282c34ea7147290dae81c5cc702f3795a961ee62f4afe7f48be276\n\n\n### Deployed addresses on Starknet Sepolia:\n\u003cb\u003eStaking token contract:\u003c/b\u003e 0x4a11dd45a62aeca462aeeca9d5168dc8cd11298db14dbdbb105505cd6631924 \u003cbr\u003e\n\n\u003cb\u003eReward token1 contract:\u003c/b\u003e 0xc2e627839c48db9de26bafb4dcff52cf0c22d154d887c9abd9c726b911156f \u003cbr\u003e\n\n\u003cb\u003eReward token2 contract:\u003c/b\u003e 0x775a9e2b7ed8b02beaa1d19c90c053042aedecddd917a9c445f3036f19a1e1c \u003cbr\u003e\n\n\u003cb\u003eStaking Multi Reward contract:\u003c/b\u003e 0x204699f98282c34ea7147290dae81c5cc702f3795a961ee62f4afe7f48be276 \u003cbr\u003e\n\n## Deployment\n`deploy-r-t1`: deploys the reward token 1 using: `npm run deploy-r-t1` \u003cbr\u003e\n`deploy-r-t2`: deploys the reward token 2 using: `npm run deploy-r-t2` \u003cbr\u003e\n`deploy-s-t`: deploys the staking token using: `npm run deploy-s-t` \u003cbr\u003e\n`deploy`: deploys the Staking contract using: `npm run deploy` \u003cbr\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasweeney%2Fstaking-multiple-reward-tokens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasweeney%2Fstaking-multiple-reward-tokens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasweeney%2Fstaking-multiple-reward-tokens/lists"}