Skip to content

Conversation

hanzel98
Copy link
Contributor

📝 Description

Rename signatory to signer in MetaMaskSmartAccount configuration to improve developer experience and API clarity.

🔄 What Changed?

List the specific changes made:

  • Renamed signatory parameter to signer in ToMetaMaskSmartAccountParameters type
  • Updated all type definitions: SignatoryConfigByImplementationSignerConfigByImplementation, InternalSignatoryInternalSigner, etc.
  • Renamed all config types: WalletSignatoryConfigWalletSignerConfig, AccountSignatoryConfigAccountSignerConfig, HybridSignatoryConfigHybridSignerConfig, MultiSigSignatoryConfigMultiSigSignerConfig, WebAuthnSignatoryConfigWebAuthnSignerConfig, Stateless7702SignatoryConfigStateless7702SignerConfig
  • Renamed signatory.ts file to signer.ts and updated all imports
  • Updated function names: resolveSignatoryresolveSigner, resolveSignatoryFromWalletConfigresolveSignerFromWalletConfig, etc.
  • Updated all variable names throughout codebase from signatory to signer
  • Updated all test files to use new terminology
  • Updated documentation in README.md and test descriptions
  • Updated e2e test files in delegator-e2e package
  • Cleaned up old unused signatory.ts file

🚀 Why?

Explain the motivation behind these changes:

  • Improve developer experience by using more familiar and intuitive terminology
  • signer is more commonly understood in the web3 ecosystem than signatory
  • Reduce cognitive load for developers integrating with MetaMaskSmartAccount
  • Align with industry standard naming conventions

🧪 How to Test?

Describe how to test these changes:

  • Manual testing steps:
  1. Run yarn lint to ensure code formatting is correct
  2. Run yarn test to verify all tests pass
  3. Run yarn build to ensure successful compilation
  • Automated tests added/updated
  • All existing tests pass (587 tests passing)

⚠️ Breaking Changes

List any breaking changes:

  • Breaking changes (describe below):
    • API Breaking Change: The signatory parameter in ToMetaMaskSmartAccountParameters is now signer
    • Type Breaking Change: All *SignatoryConfig types are now *SignerConfig types
    • Import Breaking Change: Import from ./signer instead of ./signatory
    • Function Breaking Change: resolveSignatory is now resolveSigner

📋 Checklist

Check off completed items:

  • Code follows the project's coding standards
  • Self-review completed
  • Documentation updated (if needed)
  • Tests added/updated
  • Changelog updated (if needed)
  • All CI checks pass

🔗 Related Issues

Link to related issues:
Closes #267 https://app.zenhub.com/workspaces/readable-permissions-67982ce51eb4360029b2c1a1/issues/gh/metamask/delegator-readable-permissions/267

📚 Additional Notes

This is a comprehensive breaking change that affects the public API. While the functionality remains exactly the same, any code using the MetaMaskSmartAccount configuration will need to update:

  1. Change signatory: to signer: in configuration objects
  2. Update any type imports from *SignatoryConfig to *SignerConfig
  3. Update any direct usage of resolveSignatory to resolveSigner

@hanzel98 hanzel98 merged commit 6e8bcb3 into main Sep 12, 2025
17 checks passed
@hanzel98 hanzel98 deleted the refactor/rename-signatory-signer branch September 12, 2025 15:55
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