feat(x/swingset): allow third party to provision wallet #10923
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
closes: #10912
Description
Relax the requirement that an account must be provisioned by the submitter of the provisioning message. This allows 3rd parties like dapp owners to gift a smart wallet to their new user.
Security Considerations
I don't believe the original restriction had any actual security reason. A cosmos account can be created without permission, so anyone could already provision a swingset account. It just required an extra transfer of the fee amount.
This new mechanism does mean that it's possible to create a swingset account for an address that no-one has the private keys for, but I don't believe there is any security impact to that (same as throwing the keys away after self provision).
Scaling Considerations
None
Documentation Considerations
This change should be documented for chain users.
Testing Considerations
Updated unit tests.
Upgrade Considerations
Requires a chain software upgrade.