Skip to content

fix: keep deployments successful when verification fails - #2798

Merged
fubuloubu merged 1 commit into
ApeWorX:mainfrom
banteg:fix/nonfatal-publish-errors
Jul 11, 2026
Merged

fix: keep deployments successful when verification fails#2798
fubuloubu merged 1 commit into
ApeWorX:mainfrom
banteg:fix/nonfatal-publish-errors

Conversation

@banteg

@banteg banteg commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • make explorer verification best-effort after a successful deployment
  • preserve strict behavior for explicit NetworkAPI.publish_contract() calls
  • cover both account and contract-container deployment entry points

Root cause

Both deployment paths cached a successfully deployed contract and then called the active explorer synchronously. Any explorer error, including a missing explorer, API rejection, timeout, or plugin failure, propagated from deploy() even though the on-chain deployment had already succeeded.

User impact

deploy(..., publish=True) now returns the deployed contract instance when explorer verification fails and logs the original error instead. Deployment tracking and the existing local-network guard keep their current behavior.

Validation

  • 137 passed across tests/functional/test_accounts.py and tests/functional/test_contract_container.py
  • focused publish regression tests pass for both deployment APIs
  • Ruff lint and formatting checks pass for all changed files
  • git diff --check passes

Local pre-commit mypy currently reports seven errors in three unrelated files; the same errors reproduce on a clean upstream/main worktree.

@banteg
banteg marked this pull request as ready for review July 11, 2026 16:50
@fubuloubu
fubuloubu merged commit bf80da2 into ApeWorX:main Jul 11, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants