{"id":18263834,"url":"https://github.com/yearn/brownie-wrapper-mix","last_synced_at":"2025-07-27T01:08:20.423Z","repository":{"id":45339850,"uuid":"348139641","full_name":"yearn/brownie-wrapper-mix","owner":"yearn","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-02T14:46:03.000Z","size":102,"stargazers_count":15,"open_issues_count":0,"forks_count":27,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-04T20:36:40.561Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yearn.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}},"created_at":"2021-03-15T22:23:45.000Z","updated_at":"2025-01-15T00:21:02.000Z","dependencies_parsed_at":"2023-01-23T22:18:01.381Z","dependency_job_id":null,"html_url":"https://github.com/yearn/brownie-wrapper-mix","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/yearn/brownie-wrapper-mix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yearn%2Fbrownie-wrapper-mix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yearn%2Fbrownie-wrapper-mix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yearn%2Fbrownie-wrapper-mix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yearn%2Fbrownie-wrapper-mix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yearn","download_url":"https://codeload.github.com/yearn/brownie-wrapper-mix/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yearn%2Fbrownie-wrapper-mix/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267278913,"owners_count":24063279,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-05T11:12:49.465Z","updated_at":"2025-07-27T01:08:20.387Z","avatar_url":"https://github.com/yearn.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Yearn Affiliate Wrapper Brownie Mix\n\n## Warning\n\nThis repo is for inspiration purposes, this code isn't audited.\n\n## What you'll find here\n\n- Basic Solidity Smart Contract for creating your own Yearn Affiliate Wrapper ([`contracts/AffiliateToken.sol`](contracts/AffiliateToken.sol))\n\n- Sample test suite that runs on mainnet fork. ([`tests/`](tests))\n\nThis mix is configured for use with [Ganache](https://github.com/trufflesuite/ganache-cli) on a [forked mainnet](https://eth-brownie.readthedocs.io/en/stable/network-management.html#using-a-forked-development-network).\n\n## Installation and Setup\n\n1. [Install Brownie](https://eth-brownie.readthedocs.io/en/stable/install.html) \u0026 [Ganache-CLI](https://github.com/trufflesuite/ganache-cli), if you haven't already.\n\n2. Sign up for [Infura](https://infura.io/) and generate an API key. Store it in the `WEB3_INFURA_PROJECT_ID` environment variable.\n\n```bash\nexport WEB3_INFURA_PROJECT_ID=YourProjectID\n```\n\n3. Sign up for [Etherscan](www.etherscan.io) and generate an API key. This is required for fetching source codes of the mainnet contracts we will be interacting with. Store the API key in the `ETHERSCAN_TOKEN` environment variable.\n\n```bash\nexport ETHERSCAN_TOKEN=YourApiToken\n```\n\n4. Download the mix.\n\n```bash\nbrownie bake yearn-affiliate\n```\n\n## Known issues\n\n### No access to archive state errors\n\nIf you are using Ganache to fork a network, then you may have issues with the blockchain archive state every 30 minutes. This is due to your node provider (i.e. Infura) only allowing free users access to 30 minutes of archive state. To solve this, upgrade to a paid plan, or simply restart your ganache instance and redploy your contracts.\n\n# Resources\n\n- Yearn [Discord channel](https://discord.com/invite/6PNv2nF/)\n- Brownie [Gitter channel](https://gitter.im/eth-brownie/community)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyearn%2Fbrownie-wrapper-mix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyearn%2Fbrownie-wrapper-mix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyearn%2Fbrownie-wrapper-mix/lists"}