Skip to content

Make SEP-45 contract immutable#4

Merged
philipliu merged 1 commit intomainfrom
philip/immutable
Jan 6, 2026
Merged

Make SEP-45 contract immutable#4
philipliu merged 1 commit intomainfrom
philip/immutable

Conversation

@philipliu
Copy link
Contributor

@philipliu philipliu commented Dec 20, 2025

We plan to deploy a version of this contract that SEP-45 servers can use for validation. For servers to safety depend on a deployed contract, the code should be source-verifiable and immutable.

This PR removes the admin and upgrade functionality to make the contract immutable. Future versions will be deployed to new contract addresses and referenced by the protocol.

@philipliu philipliu marked this pull request as ready for review January 5, 2026 16:24
Copilot AI review requested due to automatic review settings January 5, 2026 16:24
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR makes the SEP-45 web authentication contract immutable by removing all upgrade functionality and administrative controls. The contract becomes a simple, unchangeable implementation focused solely on authentication verification.

Key changes:

  • Removed upgrade mechanism (Upgradable trait, upgrade function, and admin storage)
  • Removed constructor that was used to set the admin address
  • Added comprehensive documentation for the web_auth_verify function

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@leighmcculloch
Copy link
Member

There's not much context on this pull request for what's driving this change or what it is in service of. Could you add some additional details to the pr description and re-request me to review? Thanks!

Copy link
Member

@leighmcculloch leighmcculloch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the intent is to make it immutable because any new version that gets deployed can be deployed to an entirely new contract address and referenced by servers for new validations, this looks great.

@philipliu
Copy link
Contributor Author

If the intent is to make it immutable because any new version that gets deployed can be deployed to an entirely new contract address and referenced by servers for new validations, this looks great.

Sorry, I should have added this to the PR description. The intent is to deploy immutable versions of this contract and list them as implementations in the SEP-45 protocol.

@philipliu philipliu merged commit a2f8755 into main Jan 6, 2026
9 checks passed
@philipliu philipliu deleted the philip/immutable branch January 6, 2026 15:51
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.

3 participants