-
Notifications
You must be signed in to change notification settings - Fork 29
feat(wallets): add shadow signer support for automatic delegated signers #1458
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
guilleasz-crossmint
merged 63 commits into
wallets-v1
from
devin/wal-shadow-signers-1760630286
Oct 28, 2025
Merged
Changes from all commits
Commits
Show all changes
63 commits
Select commit
Hold shift + click to select a range
2033ee9
feat: add onCreateConfig support to separate admin and usage signers
devin-ai-integration[bot] 8a5417a
fix: export OnCreateConfig and fix getChainType access
devin-ai-integration[bot] a69a978
refactor: remove args.delegatedSigners field (BREAKING CHANGE)
devin-ai-integration[bot] 8089157
feat: make onCreateConfig required via WalletCreateArgs type
devin-ai-integration[bot] c675932
chore: fix lint issues
devin-ai-integration[bot] b642c2c
chore: update demo apps to use onCreateConfig
devin-ai-integration[bot] 41e35a2
fix: correctly mutate signer in validateExistingWalletConfig
devin-ai-integration[bot] eb5c28e
fix: correctly mutate adminSignerConfig in createWallet
devin-ai-integration[bot] 1be9a9f
remove unnecesary type
guilleasz-crossmint cfde33f
reuse common functionality from get and create
guilleasz-crossmint d59062a
remove redundant comments
guilleasz-crossmint c1ea37e
fix tsc issue
guilleasz-crossmint 6b8b3f3
fix linter
guilleasz-crossmint 3e6d5c2
added client side specific get wallet
guilleasz-crossmint 133dc92
fix signers and transactions
guilleasz-crossmint 5bd3ce4
fix delegated signer
guilleasz-crossmint 34f6f16
remove redundant check
guilleasz-crossmint e0397c1
fix unit test
guilleasz-crossmint 9276bcf
make oncreateconfig optional
guilleasz-crossmint f890560
remove unnecesary format changes
guilleasz-crossmint b04e71d
unify getWallet functionality
guilleasz-crossmint 43c64d8
remove admin from name
guilleasz-crossmint 77faeca
fix react provider
guilleasz-crossmint 6891aa5
remove unnecessary types
guilleasz-crossmint ee8195b
remove optional param
guilleasz-crossmint 199d2ab
feat(wallets): add shadow signer support for automatic delegated signers
devin-ai-integration[bot] 1b0eba3
fix: remove unused @ts-expect-error directive
devin-ai-integration[bot] a1afbb5
refactor: replace 'as any' with custom SmartWalletConfig type
devin-ai-integration[bot] 05fbb32
fix: format error message to meet line length requirements
devin-ai-integration[bot] 75a3e8f
refactor: remove Flow-specific check, let API handle incompatible chains
devin-ai-integration[bot] c23d2b6
feat: use shadow signer as active signer for wallet instances
devin-ai-integration[bot] 3d92392
fix: apply biome lint formatting
devin-ai-integration[bot] dbaf09d
fix: add localStorage checks for Node.js test environment
devin-ai-integration[bot] 1351429
Merge branch 'main' of github.com:Crossmint/crossmint-sdk into devin/…
guilleasz-crossmint 050c6be
wip shadow
guilleasz-crossmint 6cd46ee
remove support for evm
guilleasz-crossmint c66cb23
add passkey logic to delegate signer comparison
guilleasz-crossmint 14914bc
Merge branch 'guillea/wal-4751-allowing-delegated-signers-to-use-the-…
guilleasz-crossmint b588a95
fix wallet with multiple passkey signers
guilleasz-crossmint e5516f0
remove console.log
guilleasz-crossmint 8b024c7
remove all shadow passkey references
guilleasz-crossmint 4da2a7f
appplied albertos comment
guilleasz-crossmint 9c31e78
Merge branch 'guillea/wal-4751-allowing-delegated-signers-to-use-the-…
guilleasz-crossmint 69a147a
differentiate wallet creation for stellar and solana
guilleasz-crossmint c34c4e2
Merge branch 'wallets-v1' of github.com:Crossmint/crossmint-sdk into …
guilleasz-crossmint 8f2aca8
fix shadow signer for stellar
guilleasz-crossmint 55e291f
move signing shado logic to signer
guilleasz-crossmint 6aace1b
change shado signer option config
guilleasz-crossmint a550bb8
move delegated signer logic to a new function
guilleasz-crossmint 16f5f1b
abstract signature
guilleasz-crossmint bc49080
remove unnecessary change
guilleasz-crossmint 28682a3
restructure folder
guilleasz-crossmint af82106
improve has shadow signer condition
guilleasz-crossmint 3b85db9
fix import
guilleasz-crossmint adaee17
fix import
guilleasz-crossmint ea04677
Merge branch 'wallets-v1' of github.com:Crossmint/crossmint-sdk into …
guilleasz-crossmint 7a345c5
fix vitest test in wallets package
guilleasz-crossmint 0df29c4
refactor: address PR feedback from Alberto
devin-ai-integration[bot] 4d2b684
fix: apply biome formatting
devin-ai-integration[bot] 6c4f679
Merge branch 'wallets-v1' into devin/wal-shadow-signers-1760630286
guilleasz-crossmint ee6c518
applied comments
guilleasz-crossmint ccacf80
Merge branch 'devin/wal-shadow-signers-1760630286' of github.com:Cros…
guilleasz-crossmint c42de5f
added changeset
guilleasz-crossmint File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| --- | ||
| "@crossmint/client-sdk-react-ui": minor | ||
| "@crossmint/client-sdk-react-base": minor | ||
| "@crossmint/wallets-sdk": minor | ||
| --- | ||
|
|
||
| Added Shadow Signers for avoiding redundant OTP Verification |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| import type { ExternalWalletInternalSignerConfig, Signer } from "./types"; | ||
| import type { Chain } from "../chains/chains"; | ||
|
|
||
| export abstract class ExternalWalletSigner<C extends Chain> implements Signer { | ||
| type = "external-wallet" as const; | ||
| protected _address: string; | ||
|
|
||
| constructor(protected config: ExternalWalletInternalSignerConfig<C>) { | ||
| if (config.address == null) { | ||
| throw new Error("Please provide an address for the External Wallet Signer"); | ||
| } | ||
| this._address = config.address; | ||
| } | ||
|
|
||
| address() { | ||
| return this._address; | ||
| } | ||
|
|
||
| locator() { | ||
| return this.config.locator; | ||
| } | ||
|
|
||
| abstract signMessage(message: string): Promise<{ signature: string }>; | ||
| abstract signTransaction(transaction: string): Promise<{ signature: string }>; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.