{"id":25015187,"url":"https://github.com/cowprotocol/solver-vouch-register","last_synced_at":"2025-10-24T11:28:08.281Z","repository":{"id":40535954,"uuid":"487916317","full_name":"cowprotocol/solver-vouch-register","owner":"cowprotocol","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-06T09:33:03.000Z","size":449,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-05T08:18:10.041Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cowprotocol.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":"2022-05-02T16:35:33.000Z","updated_at":"2024-12-04T15:18:28.000Z","dependencies_parsed_at":"2022-07-27T09:22:35.123Z","dependency_job_id":null,"html_url":"https://github.com/cowprotocol/solver-vouch-register","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowprotocol%2Fsolver-vouch-register","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowprotocol%2Fsolver-vouch-register/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowprotocol%2Fsolver-vouch-register/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cowprotocol%2Fsolver-vouch-register/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cowprotocol","download_url":"https://codeload.github.com/cowprotocol/solver-vouch-register/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246281310,"owners_count":20752213,"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":[],"created_at":"2025-02-05T08:18:13.877Z","updated_at":"2025-10-24T11:28:08.274Z","avatar_url":"https://github.com/cowprotocol.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vouch Register for Solver Bonding\n\nA _bonding pool_ is a Gnosis Safe instance that is owned solely by the CoW DAO.\nIts creator escrows the amount specified in the [CIP](https://snapshot.org/#/cow.eth/proposal/0x267edf7a0bd3c771cfca763322f011ee106d8d5158612c11da29183260d1dba7) to guarantee that none of the vouched solvers misbehaves.\nThe provided contract allows bonding pools to either vouch or invalidate a vouch for a solver.\n\nThe provided contract must be called by the owner of the bonding pools. The owner of a bonding pool is defined as the address that escrowed the initial funding to the bonding pools - in case there are several addresses sending the initial funds to the same bonding pool, the bonding pool can not be considered.\nCalls from other addresses will not be officially indexed and it will not start the allowlisting process for new solvers for the COW-Protocol.\nIn case of conflicting vouching votes (e.g. two bonding pools vote for the same solver with different cow reward targets), the first vouch will be seen as the valid one and the second vouch will be disregarded.\nOnly updates of currently valid vouches from a bonding pool (e.g. for changing the cowRewardTarget) will be considered.\nSame rules holds true for the invalidation of vouches: If a solver is invalidated by a bonding pool, although the solver is currently not actively vouched by this bonding pool, the message will be disregarded.\n\n## Setting up the project\n\n```sh\nyarn install\nyarn build\n```\n\n## Deployment\n\nThe contract can be deployed on sepolia-chain by running:\n\n```sh\nexport PK='your PK'\nexport INFURA_KEY='your infura key here'\nexport GAS_PRICE=10\nyarn deploy --network sepolia\n```\n\nRegardless of chain and deployer, this should create the contract using CREATE2 at 0xAAA4De096D02AE21729aA31D967E148D4e3Ae501.\n\n## Verifying on Etherscan:\n\n```sh\nexport ETHERSCAN_API_KEY=\u003cyour etherscan api key\u003e\nyarn verify:etherscan --network sepolia\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcowprotocol%2Fsolver-vouch-register","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcowprotocol%2Fsolver-vouch-register","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcowprotocol%2Fsolver-vouch-register/lists"}