Skip to content

Add Safe v1.5.0 canonical addresses - #8

Closed
techdigger wants to merge 1 commit into
mainfrom
safe-v1.5.0-addresses
Closed

techdigger wants to merge 1 commit into
mainfrom
safe-v1.5.0-addresses

Conversation

@techdigger

Copy link
Copy Markdown

What

Adds the v1.5.0 canonical addresses from safe-deployments to each list in safe_addresses.py: Safe, SafeL2, CompatibilityFallbackHandler, SafeProxyFactory, MultiSend, MultiSendCallOnly and SignMessageLib.

Each goes last in its list. safe-cli takes the first address that has code, so:

  • a network with v1.4.1 or v1.3.0 behaves as before;
  • a network with only v1.5.0 now works.

Why

The lists stop at v1.4.1. On a network that has only v1.5.0, the attended mode finds no singleton and no fallback handler, and fails at startup with ValueError: Network ... is not supported. Hardware wallets, approve_hash and owner management all need the attended mode.

Listing v1.5.0 first would change more than that. On each network that has v1.5.0, Ethereum mainnet included:

  • safe-creator would create v1.5.0 Safes by default;
  • update would move pre-1.3.0 Safes straight to v1.5.0;
  • safe-cli would report v1.4.1 Safes as not updated.

This PR leaves that choice to the maintainers.

Tested

A new test checks all seven lists in both cases: only v1.5.0 deployed, and every version deployed.

On a forked chain with only the v1.5.0 contracts:

  • without the change, the attended mode crashes;
  • with it, approve_hash, add_owner, change_threshold and send_ether go through;
  • safe-creator creates a 2-of-3 v1.5.0 SafeL2 through the v1.5.0 factory;
  • each Safe transaction hash matches the Safe's getTransactionHash.

Generated by Claude Code

safe_addresses.py lists contracts up to v1.4.1. On a network that has
only v1.5.0, the attended mode finds no singleton and no fallback handler
and fails at startup with "Network ... is not supported".

Add the v1.5.0 canonical addresses from safe-deployments, last in each
list. safe-cli takes the first address that has code, so a network with
an earlier version behaves as before and a network with only v1.5.0
works.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant