feat(connector): add Chipi connector to default connectors#263
Open
haycarlitos wants to merge 3 commits into
Open
feat(connector): add Chipi connector to default connectors#263haycarlitos wants to merge 3 commits into
haycarlitos wants to merge 3 commits into
Conversation
Adds a "Connect with Chipi" connector. Chipi is a hosted smart-account wallet (passkey, gasless via paymaster) following the same hosted model as the Ready and Cartridge connectors. It wraps the published @chipi-stack/starknet-connector transport: the connector opens the hosted wallet (connect.chipipay.com) in a popup and forwards get-starknet wallet_* RPC over postMessage; it holds no keys. - src/connectors/chipi: ChipiConnector (extends StarknetkitConnector) + icon. account() builds a starknet WalletAccount over the postMessage SWO, mirroring the webwallet connector. Self-registers on window so getAvailableWallets marks it installed (otherwise the modal routes it to the download screen). - Added to defaultConnectors() next to the controller connector. - Dependency: @chipi-stack/starknet-connector ^0.1.2. Build + check pass (no new errors). Verified end to end on mainnet through the starknetkit modal: connect, signTypedData, and a gasless execute, alongside Braavos. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Chipi hosted wallet authenticates on the wallet.chipipay.com domain, so that is the working host. Updates the connector dep to ^0.1.3 (whose own default also points there). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ew-user) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Adds a "Connect with Chipi" connector to the default connectors. Chipi is a hosted smart-account wallet (passkey auth, gasless via a paymaster) following the same hosted model as the Ready and Cartridge connectors already in Starknetkit. It lets any Starknetkit dApp offer Chipi alongside the existing wallets.
How it works
The connector wraps the published
@chipi-stack/starknet-connectortransport. It opens the hosted wallet (connect.chipipay.com) in a popup and forwards get-starknetwallet_*RPC overpostMessage; it holds no keys and signs nothing itself. The hosted wallet renders the approval UI and runs the real passkey + paymaster path.src/connectors/chipi/index.ts—ChipiConnector extends StarknetkitConnector.account()builds astarknetWalletAccountover the postMessageStarknetWindowObject, mirroring thewebwalletconnector. It self-registers onwindowin its constructor sogetAvailableWallets()marks it installed (otherwise the modal routes a hosted wallet to the download screen) — the same approach the Cartridge connector relies on.src/connectors/chipi/constants.ts— the brand icon.src/helpers/defaultConnectors.ts— added next toControllerConnector.@chipi-stack/starknet-connector ^0.1.2.Testing
pnpm buildandpnpm checkpass with no new errors (the few pre-existingcheckerrors are in unrelated files).signTypedData(SNIP-12) → a gaslessexecutereturning a tx hash, with Braavos working alongside in the same modal.Happy to adjust naming, icon, or placement to fit your conventions.