{"id":50496177,"url":"https://github.com/davidweb3-ctrl/base-contract-qa-starter","last_synced_at":"2026-06-02T07:03:58.944Z","repository":{"id":359950033,"uuid":"1243287673","full_name":"davidweb3-ctrl/base-contract-qa-starter","owner":"davidweb3-ctrl","description":"Small Foundry starter for contract QA patterns: owner controls, pause safety, signature claims, replay protection, and deadline checks.","archived":false,"fork":false,"pushed_at":"2026-05-24T08:24:45.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-24T10:21:55.468Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Solidity","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/davidweb3-ctrl.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-19T07:53:40.000Z","updated_at":"2026-05-24T08:24:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/davidweb3-ctrl/base-contract-qa-starter","commit_stats":null,"previous_names":["davidweb3-ctrl/base-contract-qa-starter"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/davidweb3-ctrl/base-contract-qa-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidweb3-ctrl%2Fbase-contract-qa-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidweb3-ctrl%2Fbase-contract-qa-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidweb3-ctrl%2Fbase-contract-qa-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidweb3-ctrl%2Fbase-contract-qa-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davidweb3-ctrl","download_url":"https://codeload.github.com/davidweb3-ctrl/base-contract-qa-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davidweb3-ctrl%2Fbase-contract-qa-starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33810345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-02T02:00:07.132Z","response_time":109,"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":"2026-06-02T07:03:58.065Z","updated_at":"2026-06-02T07:03:58.939Z","avatar_url":"https://github.com/davidweb3-ctrl.png","language":"Solidity","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Base Contract QA Starter\n\nVersion: v0.1\n\nStatus: local Foundry demo, not deployed\n\n## Purpose\n\nSmall Base-oriented contract QA starter for builders who need testable examples around:\n\n- owner-only controls;\n- pause safety;\n- signature authorization;\n- nonce replay protection;\n- deadline expiration;\n- clear Foundry test evidence.\n\nThis is the first execution artifact for the Base Ship-And-Document path.\n\n## Who This Is For\n\nThis is for Base builders who want a small, inspectable Foundry example for common contract QA patterns before shipping a larger app.\n\nIt is intentionally tiny:\n\n- no external dependencies;\n- no deployment required;\n- no production claims;\n- focused on clear tests.\n\n## Why This Exists\n\nThe funding research suggests Base rewards shipped, documented, visible work. The personal fit analysis suggests a strong match around EVM/Foundry, testing, integration, and security/QA workflows.\n\nThis demo turns that fit into a public-proof candidate.\n\n## Sponsor-Visible Value\n\nThis starter is designed to show a narrow but useful builder capability:\n\n- identify common contract-risk areas;\n- turn risk areas into executable Foundry tests;\n- document what is covered and what is not covered;\n- keep boundaries clear before deployment or grant claims;\n- produce proof that can be reused in bounty, grant, or freelance conversations.\n\nIt is not trying to be a full audit framework. The useful proof is that a builder can quickly create inspectable QA scaffolding around a contract workflow.\n\n## Contracts\n\n- `src/OwnableVault.sol`: small ETH vault with owner-only withdraw and pause controls.\n- `src/SignatureEscrow.sol`: signature-gated claim flow with per-recipient nonce and deadline checks.\n\n## What To Inspect\n\nFor `OwnableVault`:\n\n- `deposit` accepts ETH only when unpaused.\n- `setPaused` is owner-only.\n- `withdraw` is owner-only.\n\nFor `SignatureEscrow`:\n\n- `claimDigest` binds the claim to chain id and contract address.\n- `claim` checks recipient, deadline, nonce, and signer.\n- nonce increments after successful claim.\n- replay with the same signature fails.\n\n## Tests\n\n- `test/OwnableVault.t.sol`\n- `test/SignatureEscrow.t.sol`\n\nThe tests avoid external dependencies and use only Foundry cheatcodes declared locally in the test files.\n\n## Public Proof Page\n\nFree static proof-page source is available in:\n\n```text\ndocs/index.html\n```\n\nThis page is intended for GitHub Pages or Talent/Base website verification if a public project URL is needed. It does not require paid hosting, a domain, or a mainnet deployment.\n\n## Run\n\n```bash\nforge test -vv\n```\n\nExpected result:\n\n```text\n6 tests passed, 0 failed, 0 skipped\n```\n\n## Checklist\n\nUse:\n\n```text\nCHECKLIST.md\n```\n\nThe checklist covers:\n\n- access control;\n- pause safety;\n- signature authorization;\n- replay protection;\n- deadline expiration;\n- Base-specific public proof boundaries.\n\n## Deployment Preparation\n\nBase Sepolia deployment notes are prepared in:\n\n```text\nDEPLOYMENT.md\n```\n\nDeployment is not required for the current proof. Do not broadcast transactions unless the user explicitly decides to spend testnet gas.\n\n## Current Boundary\n\nThis is not a production contract package, audit report, grant recipient, or deployed Base product.\n\nIt is a starter artifact for:\n\n- public proof;\n- Base builder documentation;\n- future Base Builder Rewards / Builder Grants consideration;\n- later expansion into a Base contract QA template library.\n\n## Next Steps\n\n- Keep local verification green with `forge test -vv`.\n- Publish / maintain the free proof page if Talent/Base website verification needs a project URL.\n- Use this as a proof asset when applying to technical bounties or Base-oriented opportunities.\n- Add one more focused checklist module only if it supports a concrete opportunity.\n- Run Base Sepolia deployment dry-run only if a public proof or reward path requires it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidweb3-ctrl%2Fbase-contract-qa-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavidweb3-ctrl%2Fbase-contract-qa-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavidweb3-ctrl%2Fbase-contract-qa-starter/lists"}