Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
🌿 Documentation Preview
|
jakehobbs
approved these changes
Aug 22, 2025
| accountAbi: semiModularAccountBytecodeAbi, | ||
| } satisfies Partial<SemiModularAccountV2StaticImpl>; | ||
|
|
||
| export const semiModularAccountV2StaticImpl: SemiModularAccountV2StaticImpl = { |
Contributor
There was a problem hiding this comment.
just double checking, is this the same situation as the different versions of light account? do we need any jsdoc or doc comments explaining what semi-modular account is?
Contributor
Author
There was a problem hiding this comment.
It's covered a bit in its own repo's README: https://github.com/alchemyplatform/modular-account?tab=readme-ov-file
Unfortunately our doc-gen tool doesn't support generating .mdx files from JSDocs on exported structs, so I omitted them for now. Should we leave a todo for JSDocs here + updating doc-gen?
Contributor
Author
There was a problem hiding this comment.
Proactively added some basic JSDocs and todos for this
thebrianchen
approved these changes
Aug 22, 2025
jakehobbs
added a commit
that referenced
this pull request
Feb 27, 2026
* feat: create the initial skeleton for v5 * feat: add http request support to alchemy transport * fix: update the json rpc halp command to account for new transport * chore: add lint rule to track v5 TODOs * chore: add support for generating rest api packages too * feat: scaffold for smart-accounts package (#1781) * feat: create viem interfaces for light account (#1689) * refactor: create viem interfaces for light account with vibes * style: clean up params for viem-base Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * style: remove redundant map from viem-multiowner Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * fix: bug in logic for factory abi in viem-account Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * refactor: move the viem light account interfaces into their own package * refactor: move the viem light account interfaces into their own package * fix: tests were broken for some reason * clean up * stop throwing normal Error * fix jsdoc * fix tests * fix: specify owner(s) * chore: do not change files from v4 * chore: docs gen * chore: rename account factory functions & add TODOs --------- Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * feat: viem aa tests (#1815) * fix: update import path to use TypeScript alias in coinbase-account.test.ts * chore: fixing * chore: lint * chore: removing yarn.lock changes * chore: eip6492 * chore(v5): fix precommit checks on v5 branch (#1825) * chore: fix precommit for v5 * fix: add index landing pages * chore: cherry pick docs update! (#1844) * feat: append wallets mdx-components to existing mdx-components in docs.yml * chore: cleanup unused variable * fix(insert-docs): handle case in which mdx-components are at EOF --------- Co-authored-by: dslovinsky <dslovinsky@users.noreply.github.com> * feat(v5): add wallet api scaffold and initial gas manager action (#1831) * feat(v5): add wallet apis package scaffold * feat: action for requestGasAndPaymasterAndData * fix: unused import * docs: fix package name * fix: review fixes * fix: import file extension * feat: migrate nonstandard bundler methods (#1821) * feat: create viem bundler * chore: change to a viem compatible fee estimator * chore: correctly typing everything * Update packages/smart-accounts/src/alchemyEstimateFeesPerGas.ts Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * Update packages/smart-accounts/src/alchemyEstimateFeesPerGas.ts Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * Update packages/smart-accounts/src/alchemyEstimateFeesPerGas.ts Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * chore: responding to jakes feedback * chore: fixing tests * chore: adding bundler client factory * chore: responding to feedback * refactor: move bigIntMultiply from @aa-sdk/core to @alchemy/common utils - Created packages/common/src/utils/bigint.ts with bigIntMultiply function - Updated import in alchemyEstimateFeesPerGas.ts to use @alchemy/common - Addresses review comment about not importing from @aa-sdk/core in v5 * feat: move big int multiply * Update packages/common/src/utils/bigint.ts Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * chore: fix linting and regenerate docs * Update packages/common/src/utils/bigint.ts Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * Update packages/common/src/utils/bigint.ts Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> --------- Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * feat(signer): v5 interfaces (#1804) * Creates new packages, `@alchemy/signer`, `@alchemy/signer-web` and `@alchemy/signer-rn`. Note that the web signer is now in a separate package rather than being part of `/signer`. * Introduces a new set of interfaces: instead of multiple signer classes which represent both logged-in and logged-out signers, have separate classes `Signer` for an authenticated signer which is ready to start signing, and `AuthClient` which performs login tasks and returns a `Signer` once login is complete. * Speaking of auth, there are separate methods for different login types, e.g. `sendAuthEmail`, `submitOtpCode`, rather than a single `authenticate` method that does it all. * At the moment, nothing is done related to session storage. I'm not actually positive we want that to be automatic, as it adds unrelated responsibilities to the signer classes and isn't useful for some applications (e.g. scripts) `Signer` for an authenticated signer which is ready to start signing, and `AuthClient` which performs login tasks and returns a `Signer` when login is complete. * At the moment, nothing is done related to session storage. I'm not actually sure we want that to be automatic or even part of the signer packages, as it adds unrelated responsibilities to the signer classes and isn't useful for some use cases (e.g. scripts). * feat: sdk v5 mav2 smart account defintion (#1809) * fix(v5): lint and generate dependency on jsdoc (#1867) * fix: v5 lint and generate broken * fix: bot review fixes * test: remove fail modifier * refactor: rename wallet apis to aa infra (#1873) * feat(v5): port wallet api client (#1876) * feat: begin scaffolding wallet api actions (WIP) * feat: get all wallet api tests working except signing * feat: use built-in viem methods for call status * chore: build docs * chore: fix docs * refactor: experimenting w/ client types * chore: update tests * chore: enable signing tests * feat: finish impl of wallet apis * chore: docs * fix: use account from client instead of from cache * docs: fix docs * test: update snapshot * ci: add secrets for wallet api tests * chore: fix comments & docs * docs: add wallet apis index * feat: add ConnectionConfig schema and switch to separate clients (#1865) * feat: use discriminated unions for connection config * fmt * wip: disc union * use separate client rather than unified * add docs file * revert accidental changes * fix breadcrumb import * allow specifying auth + url, add more header tests * port retry logic fixes + tests * doc changes * chore: small change to test lint:write hook * chore: add mdx and and docs changes after lint * fix: update tests to use import * fix: use url in test * fix: add v2 to url * fix: use publicTransport for public client * feat: gas manager middleware migration (#1854) * feat: gas manager middleware * chore: optimized version * chore: auto lint * chore: rebase ontop of adams stuff * refactor: make optimized gas manager the default and use alchemyEstimateFeesPerGas - Deleted the non-optimized alchemyGasManagerHooks (ERC-7677 flow) - Renamed alchemyGasAndPaymasterAndDataHooks to alchemyGasManagerHooks - Gas manager now uses single alchemy_requestGasAndPaymasterAndData call by default - Updated fee estimation to use alchemyEstimateFeesPerGas from smart-accounts package - Removed manual rundler_maxPriorityFeePerGas calls in favor of typed client - Updated all tests and imports to use the new API - Regenerated documentation with the updated exports BREAKING CHANGE: alchemyGasAndPaymasterAndDataHooks has been removed, use alchemyGasManagerHooks instead which now uses the optimized flow by default * chore: remove deprecated export that was never shipped * fix: simplify gas manager build by copying fee estimator locally - Created local copy of alchemyEstimateFeesPerGas in infra package - Avoids circular dependency issues with smart-accounts package - All tests passing * chore: removing circular dependencies * chore: moving stuff around * chore: remove unnecessary test file * Update packages/smart-accounts/src/alchemyGasManagerHooks.ts Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * Update packages/smart-accounts/src/alchemyGasManagerHooks.ts Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * Update packages/smart-accounts/src/alchemyGasManagerHooks.ts Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * chore: add wallet-apis dependency after upstream merge * chore: respond to feedback * chore: some cleaning * chore: adding cache * chore: cleaning up cache / making simpler * chore: simplify cache * chore: rebasing * chore: responding to feedback * chore: lint gen * chore: fix low hanging fruit * chore: remove extra whitespace * chore: responding to comments --------- Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * refactor(v5): migrate rundler fee estimator to aa-infra (#1894) * refactor(v5): move alchemy fee estimator to aa infra * fix: review fix * fix: remove unused item from merge conflict * fix: more merge fixes * chore: add anvil/foundry readme to V5 and check for installation before tests (#1896) * chore: add anvil/foundry readme to V5 and check for installation before test * reset docs-site * feat(v5): wallet api client 1193 provider (#1888) * WIP * feat: scaffold 1193 smart wallet provider * fix: fix signing and add some simple tests * test: add more tests * refactor: create type helper for 1193 & move to new file * refactor: simplify types * fix: error import fix * chore: fix merge conflicts * fix: CR changes * fix: one last wrong error type * refactor: tweaks from review * fix(v5): migrate gas manager funcs and partial cleanup (#1904) * feat: move gas manager funcs to aa infra * refactor: clarify names, remove redundant types * fix: use correct typeguard * fix: add expected return type for alchemyGasManagerHooks * fix: unblock tests * feat: static smart account interface & impl for light account (#1907) * feat: initial static smart account impl * refactor: delete unused light account function * feat: move lowerAddress to common * feat: export static impl * refactor(v5): reorganize light account registry to use static impl (#1918) * feat: reorganize light account registry * fix: lint and type assertion * feat: change alchemy-specific networks to generic viem networks (#1922) * feat: replace alchemy defined chains with native viem chains * fix: post change docs + fmt * feat: export the alchemy supported chains not in viem * chore: add generated docs * fix: update tests to use story mainnet * feat(v5): mav2 static impl (#1925) * feat: add mav2 static impl * fix: omit deprecated functions from account factory ABI * fix: test * docs: add basic JSDoc to mav2 static impls * feat: add base logger to packages/common (#1941) * feat: add http debug options to alchemyTransport (#1944) * feat: add http debug options to alchemyTransport * fix: add missing doc * fix: update to use HttpTransportConfig as the top level type * chore: add mdx * chore: update docs-site * feat: allow overriding chainid in smart wallet client (#1955) * feat: scaffold the wagmi-core package and initial connector (#1885) * feat: run bunx halp add-package * feat: add createConfig and initial actions * feat: run bunx halp add-package connectors-web * feat: add alchemyAuth connector * fix: lint * fix: update exports * feat: end to end signer oauth (#1890) * feat(signer): small proposed types for factoring oauth flow * feat(signer): end-to-end email otp with new signer Also creates a new example, at `examples/signer-web-example`, demonstrating its use. * chore: moves getOauthProviderUrl logic into new utils file * chore: scaffold handleOauthFlow logic * docs: adds missing jsdocs * chore: tests oauth in example app (does not work) * fix: build config to allow import of signer-web package * feat: enables login with google via popup flow * chore: wip oauth redirect flow * feat: working oauth with redirect flow * chore: adds to do to move web-specific oauth redirect handler to the web signer --------- Co-authored-by: David Philipson <david.philipson@gmail.com> * fix(v5): remove unused submodule and fix doc-gen (#1967) * fix: remove empty submodule causing postinstall errors * fix: restore deleted docs and fix docgen * fix: lint warning on unused deps * feat: add wallet_getCapabilities to SmartWalletClient (#1949) * feat: add get capabilities to smart wallet client * feat: add get capabilities handler to provider * fix: port over v4 wallet client changes * feat: add swap api decorator (#1980) * feat: add swap api decorator * fix: optional signer addr and use creation hint * chore: update CODEOWNERS to match main branch (#2008) * feat: add demo of connectors-web, outline of smart wallet connector (#1995) * test: fix flaky tests in wallet-api and smart-accounts (#2010) * fix flakey tests in wallet-api and smart-accounts * test: fix lint error * test: fix it.retry is not a function * test: increase timeout to coinbase-account.test.ts * test: bring back to default 60_000 timeout * test: bring back to default 60_000 timeout 2 * feat: support getAuthClient() on alchemyAuth() connector (#2009) * feat: support getAuthClient() on alchemyAuth() connector * fix: resolve comments * fix: add back getUser * refactor: renames signer to auth session (#2063) * refactor: renames signer to auth session * docs: updates jsdocs code snippets to use auth session * feat: flesh out alchemyAuth, clean up example site, add oauth wagmi actions (#2062) * refactor: renames signer-web-example to auth-web-example (#2075) * feat(v5): 1193 provider for alchemy auth (#2074) * feat: add basic 1193 provider scaffolding to signer * feat: send calls with alchemy auth provider * chore: remove comment * chore: update comments * chore: remove txn sending from alchemyAuth 1193 provider * chore: lint * refactor: extract helper for 1193 handler factory * chore: docs * refactor: tweaks from self-review * test: add tests for 1193 provider * test: fix tests * chore: remove comment * chore: move types to common, remove unused type utils, add type export * feat: adds auth session state persistence helper methods (#2039) * feat(signer): small proposed types for factoring oauth flow * feat(signer): end-to-end email otp with new signer Also creates a new example, at `examples/signer-web-example`, demonstrating its use. * chore: adds signer state helper function definitions * feat: adds helper to load auth session state and jsdocs * docs: new signer methods * chore: restore oauth changes * docs: updates docs * fix: removes old submodule * chore: updates comment * chore: rebases with moldy/v5-branch * feat: adds auth session state managements helper methods * docs: updates jsdocs to use term auth session * refactor: uses Omit to define CompleteWithBundleAuthType * chore: removes unnecessary helper * fix: ts error * chore: add tests * fix: updates loadAuthSessionState to be responsible for deserializing and refactors * docs: adds twoslash to jsdoc comments * docs: updates auto generated docs --------- Co-authored-by: David Philipson <david.philipson@gmail.com> * feat(v5): add `getClient` support to connector using `LocalAccount` (#2087) * feat: add alchemy auth to local account * chore: update comments * refactor: move signAuthorization to signer * feat: implement getClient in alchemyAuth connector * feat: add client caching to connector * refactor: rename variable * fix: properly handle chain switching * feat: send calls via wallet client from connector web example * feat: add demo for signing typed data * refactor: rename toViemAccount, improve error handling, fmt * refactor: rename function * refactor(v5): state persisting methods (#2090) * feat(signer): small proposed types for factoring oauth flow * feat(signer): end-to-end email otp with new signer Also creates a new example, at `examples/signer-web-example`, demonstrating its use. * chore: adds signer state helper function definitions * feat: adds helper to load auth session state and jsdocs * docs: new signer methods * chore: restore oauth changes * docs: updates docs * fix: removes old submodule * chore: rebases with moldy/v5-branch * feat: adds auth session state managements helper methods * fix: ts error * chore: add tests * fix: updates loadAuthSessionState to be responsible for deserializing and refactors * refactor: renames auth session state management methods * docs: updates docs with new method names * refactor: specifies state object type and adds to do comments * fix: restore pendingOtp field * fix: linting * feat: adds function to handle parsing state and renames loadAuthSessionState to restoreAuthSession --------- Co-authored-by: David Philipson <david.philipson@gmail.com> * feat: add HTTP client for Signer API (#2079) * feat(v5): scaffold react pkg (#2068) * fix: dedupe pkgs * fix: dep resolution * chore: remove debugging * chore: remove unnecessary dev deps & do not use async mutations * feat: add more functionality to react demo * fix: switch chain & refactor * chore: allow react >=18, add env example * feat(auth): email signup in auth client (#2097) * fix: update @wagmi/core version in connector example (#2101) * refactor(v5): oauth web (#2098) * refactor: moves helper functions to utils * refactor: moves error into utils * fix: set auth session for popup oauth flow * feat: add persistence to alchemyAuth (#2096) * feat: add persistence to alchemyAuth * fix: remove unnecessary multi-tab * fix: css fmt * fix: small fixes * fix: fix build after merge * fix: resolve comments * fix: remove unused fn * feat: use resumePromise to track session * feat: add expiration time ms tracking (#2106) * feat: add persistence to alchemyAuth * fix: remove unnecessary multi-tab * fix: css fmt * fix: small fixes * fix: fix build after merge * fix: resolve comments * fix: remove unused fn * feat(alchemyAuth): add expiration time ms tracking * fix: restore docs-site * fix: lint * fix: switch to sessionDurationMs * fix: resolve docs-site conflict * fix: another attempt at docs-site * fix: resolve merge conflicts from v5-base integration * chore: remove unnecessary markdown (#2113) * chore: remove account-kit refs in v5 (#2123) * chore: remove account-kit refs in v5 * fix: fully switch over to v5 method * fix: simplify initCode * chore: remove aa-sdk imports from v5 (#2126) * chore: add turnkey dep in packages/auth (#2129) * fix: only run CI on affected packages (#2111) * fix: only run CI on affected packages * chore: run typecheck for everything * chore: test logic change triggers * fix: run with continue and diff against moldy/v5 * chore: reset doc comments * chore: add dummy tests for ci to pass * chore: format * fix: only check for changes in packages/ * fix: also modify build * fix: build packages only * fix: revert * fix: build everything * chore: remove aa-sdk and account-kit from workspaces * fix: remove prepare * fix: remove Build iOS from v5 CI * fix: try different approach to find package changes * fix: update yarn * chore: add vercel scripts to ignore build * fix: move to separate script * fix: avoid jq * fix: add debug log * fix: another try * fix: revert * fix: coerce yParity to number (#2134) * fix: remove account-kit from build (#2140) * fix: remove account-kit from build * fix: add debug logging to vercel script * fix: lookup vercel base branch by branch name instead of PR id (#2142) * fix: lookup vercel base branch by branch name instead of PR id * fix: don't just extract manually with fixed positioning * fix(v5): immediately opens oauth popup then set resolved auth url to avoid popup blocking (#2124) * refactor: moves helper functions to utils * refactor: moves error into utils * fix: immediately opens popup to avoid browser popup blocking * fix: does not throw error when popup is closed, removed unused error * docs: updates jsdoc comments * docs: update * fix: adds popup loading page, moves check after awaiting promise, adds TO DO comment * docs: restore doc * refactor: creating auth url * fix: restore existing OauthCancelledError docs * fix: reinstate rejecting promise when popup is closed * chore: add jsdoc and tests for alchemyAuth (#2141) * chore: add docs for alchemyAuth * fix: add tests * fix: fmt * Apply suggestion from @jakehobbs Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * Apply suggestion from @jakehobbs Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * Update packages/connectors-web/src/alchemyAuth.ts Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * fix: remove dummy test --------- Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * feat(v5): support pm capability override in `sendCalls` action (#2136) * feat: workaround for non-standard pm capability * fix: don't modify existing request object * feat(connectors-web): add alchemySmartWallet connector (#2115) * feat(connectors-web): add alchemySmartWallet connector Basic implementation of a connector which uses the Wallet API to perform actions using an Alchemy smart account, wrapping another connector to perform signing. This version is tested to work when wrapping both the Metamask connector and the Alchemy Auth connector, including many edge cases such as changing accounts or configs in the Metamask UI after connecting. * feat: use smart wallet connector to send calls in connector web example (#2152) * feat: use smart wallet connector to send calls in connector web example * chore: remove bad import * refactor: improve smart wallet 1193 provider (#2153) * refactor: improve smart wallet 1193 provider * chore: remove debug log * refactor: add createSmartWalletClientAndRequestAccount helper * chore: type import * feat(v5): implement smartWalletConnector in react demo (#2158) --------- Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * feat: default smart wallet connector to 7702 mode (#2161) * feat: handle session expiration and make it configurable (#2164) `AuthSession` now emits events on disconnection, including when its session expires. the `alchemyAuth` connector listens to these events and disconnects itself when they occur. Additionally, expose the option allowing users to choose how long their requested sessions are. * chore(auth): fix passkey param schema (#2175) * feat(v5): add built-in wagmi hooks to react demo (#2179) * feat(v5): add built-in wagmi hooks to demo * chore: use default wait * chore: fix deps * feat(v5): hooks for preparing & sending calls (including swaps) (#2102) * feat: add swap action * refactor: add mergeClientCapabilities * feat: add useSwap hook * chore: docs gen * fix: wrong type names * feat: separate prepare & send swap hooks, move queries to core pkg * chore: update docs gen * chore: update comment * chore: add more comments * query client is broken * almost there * chore: finally fixed dep conflicts * chore: remove unnecessary dev dep * fix: fix types (WIP) * chore: remove account-kit * chore: fix merge * chore: fix lockfile * feat: transform prepared calls to viem-like (WIP) * chore: remove wrong import * chore: update comment * feat: encode and decode api data for viem * chore: no more type casting * fix: transform all numbers in capabilities to hex in 1193 provider * feat: add usePrepareCalls hook * chore: docs * feat: add prepare & send to react demo * fix: get everything working e2e * chore: remove comment * fix: cr from ai * chore: docs * refactor: fix comments, revert capability merging * feat(v5): add sms auth support (#2181) * feat(v5): add sms auth support * fix: use more generic phone # * fix: resolve comments * fix: fix tests * fix: extract react mutations * feat(v5): add missing signer react hooks (#2188) * feat: add new signer react hooks * refactor: self-review * chore: docs gen * fix: wrong import * fix: tests * fix: fix test * fix: more clear error message * fix: don't allow multiple concurrent otp requests * chore: remove debug log * refactor: add assertAuthSession helper * feat: show account status * feat: emit connect even when restoring session * chore: improve error handling * feat(v5): e2e passkeys (#2159) * feat: initial implementation of passkeys * feat: adds webauthn stamper to auth web client and testing in auth-web-example * fix: addresses to dos, clean up code, update docs * chore: removes console log statements * feat: adds expiration date to AuthSession when authenticating with passkeys * refactor: removes addressed to do messages, move common logic to utils * fix: updates path in tests * fix: remove unnecessary instances of turnkey stamper * fix: lints * chore: removes addressed to do comment * feat: adds passkey tests * chore: lint * fix: mock in test * chore: lint * fix: tests again * feat(v5): adds addOauthProvider and removeOauthProvider implementations (#2173) * feat: initial implementation of passkeys * feat: adds webauthn stamper to auth web client and testing in auth-web-example * fix: addresses to dos, clean up code, update docs * chore: removes console log statements * feat: adds expiration date to AuthSession when authenticating with passkeys * refactor: removes addressed to do messages, move common logic to utils * fix: updates path in tests * fix: remove unnecessary instances of turnkey stamper * fix: lints * chore: removes addressed to do comment * feat: adds addOauthProvider and removeOauthProvider implementations * feat: adds tests --------- Co-authored-by: David Philipson <david.philipson@gmail.com> * fix: minor tweaks * fix: fix mocked responses in auth tests --------- Co-authored-by: David Philipson <david.philipson@gmail.com> * feat: add useAuthMethods hook + fix prepare & send bug (#2195) * feat: add useAuthMethods hook + fix prepare & send bug * fix: wrong param type * fix: jsdoc * chore: build docs * refactor: smart wallet client actions should follow viem patterns (#2197) * chore: fix comment * chore: remove "notImplemented" helper that is no longer needed * chore(v5): update wallet-apis to typebox v1 (#2213) * chore: update typebox v1 & simplify schema access * chore: remove env file * fix: remove unncecssary optional chaining * chore: remove auth related components (#2229) * chore: remove auth related components * fix: revert alchemySmartWalletchanges * fix: wagmi example versioning * fix: bumping viem version * fix: use injected() * fix: default to sma-b * docs: add typedoc to v5 (#2232) * feat: add logging (#2234) * chore: remove auth related components * fix: revert alchemySmartWalletchanges * fix: wagmi example versioning * fix: bumping viem version * feat: add logging * fix: use injected() * fix: default to sma-b * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix: revert typefix * feat: add timestamps into log output * fix: fix tests * fix: prettier fmt * fix: address comments * fix: fmt * Update packages/common/src/logging/config.ts Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> * feat(v5): wagmi react example (#2240) * feat(v5): add wagmi react example * chore: fix deps * chore: actually fix deps * chore: code style fixes & add env example * feat(v5): decode calls for LA and MAv2 (#2258) * feat: add light account decode calls * test: add encode and decode tests * fix: correctly encode self-calls for MAv2 * fix: review fixes * test: test fixes * test: add missing test assertion * fix: test fixes * feat(v5): paymaster interfaces (#2250) * wip: getting familiar w/ pm in viem * fix: type issues * test: update sponsorship test * test: add fake policy id to old tests * test: more test cleanup * fix: policy id is not hex * fix(v5): fix webauthn signing, mav2 prepare/format sign (#2252) * fix(v5): webauthn signing * chore: remove comments * feat: prepare/format sign for mav2 (#2253) * refactor: refactor tests to use public client to verify * fix: use 6492 and 8010 for pre-deployment verification * feat(v5): mav1 support (#2256) * feat: begin scaffolding mav1 * feat: implement MAv1 functionality * fix: mav1 address prediction * fix: type error * feat(v5): add MAv1 tests, fix UO submission, support call decoding * refactor: address TODOs * refactor: rearrange files & add exports * chore: remove comment * fix: copilot fixes * fix: use correct EP for tests * fix: require at least one owner * fix: remove logging, add type helper * chore(v5): add alpha publish action (#2262) * feat: custom v5 alpha publish script * chore: add GH action for v5 alpha publish * chore: fmt * chore: fix ci cleanup step * chore: no need to clean up files at end * fix: mav1 owner type (#2264) * chore(v5): alpha publish script (#2263) * chore: alpha publish script * chore: add publish shell script w/o git * chore: remove GH action * chore: publish fixes * chore: restore files * fix: bugs * fix: remove access * fix: pre-release script updates * chore: remove tmp file * fix: remove skip-git * fix: lerna issues * fix: more lerna fixes * chore: remove test comments * fix: clean up on version failure * chore: remove v4 pkgs as deps (#2267) * fix(V5): widen multi-owner light account owner type (#2270) * fix: relax multi-owner light account params * chore: trigger CI actions * chore: revert * fix: change smart account source property & add exports (#2275) * fix: allow custom factory data for MAv1 and light account (#2282) * feat(v5): add `bigIntMax` and webauthn dummy sig exports (#2291) * feat: add web authn dummy sig and bigIntMax * docs: add jsdoc for 7212 function * feat: cache MAv2 isDeployed (#2292) * feat: make decode calls non empty for alchemy smart accounts (#2293) * fix: add missing webauthn-p256 dep (#2299) * chore: rename factoryAddress to factory (#2302) * chore: rename factoryAddress to factory * refactor(vercel): ignore build for descendent branches * chore: prepare for gha alpha pkg publishing (#2304) * chore: prepare for alpha pkg publishing via gha * chore: bump pkg version in deps * chore: bump pkg versions * chore(v5): publish alpha version 0.0.0-alpha.9 [skip ci] * chore: remove tmp file * chore(v5): publish alpha version 0.0.0-alpha.10 [skip ci] * chore: fix versions * chore: bump more versions * chore: remove old script --------- Co-authored-by: Alchemy Bot <alchemy-bot@alchemy.com> * chore(v5): publish alpha version 0.0.0-alpha.11 [skip ci] * chore: publish v5 wallet apis alpha (#2310) * chore: set up wallet-apis v5 pkg to publish alpha * chore: add version file * chore(v5): publish alpha version 0.0.0-alpha.12 [skip ci] * fix(tests): allow use of auth token for github api (#2316) * fix: use gh auth token for gh api * fix: correct wallet-apis version in wagmi core pkg * fix(v5): check 7702 delegation * chore: remove comment * chore(v5): publish alpha version 0.0.0-alpha.13 [skip ci] * test: fix swap test (#2321) * test: fix swap test * chore: fmt * fix: correct rundler client type & access public client if available (#2318) * chore(v5): publish alpha version 0.0.0-alpha.14 [skip ci] * feat(v5): wallet apis feature parity w/ wallet client (#2314) * chore: bump wallet api types pkg * feat: support paymaster permit in sendCalls * test: add missing swap test from v4 * feat(v5): webauthn support in wallet client * fix: correcly check webauthn acct type * refactor: consistent type check * chore: update lockfile * test: fix swap test account addr * fix: use correct transport for e2e tests * fix: remove unused import * chore: revert rundler file * test: use new usdc test address * chore: add minimal vitest config for e2e tests (#2324) * fix(aa-infra): cast bundler client to rundlerclient internally for type flexibility (#2325) * fix: cast bundler client * chore: add comment * chore(v5): publish alpha version 0.0.0-alpha.15 [skip ci] * test(v5): fix vitest test dir for e2e tests (#2326) * feat: add light account impls for entrypoint v0.8 & v0.9 * chore(tests): use a single local instance, get LA tests passing for v0.8/v0.9 * feat(v5): get SCA addr from EP if factory data provided w/o SCA addr (#2296) * fix: get acct addr from EP if factory data is provided w/o acct addr * fix: self-review * fix: unused import * feat: decode factory data * test: fix test params * fix: correct type inference * fix: factoryData & salt mutually exclusive * test: use latest LA version as default * test: remove duplicate test * fix: read decoded entity id for webauthn * feat(v5): add support for bundler sponsored operations (#2330) * feat: bso support * refactor: extract helper for extraction * chore: bump wallet-api-types * test: add tests for capabilities helpers * fix: wallet_sendPreparedCalls only accepts 1 policy id * refactor: wallet_sendPreparedCalls now supports policyIds * chore: typo * chore: bump wallet-api-types * chore(v5): publish alpha version 0.0.0-alpha.16 [skip ci] * fix: add buffer for estimated max priority fee (#2335) * chore(v5): publish alpha version 0.0.0-alpha.17 [skip ci] * chore(v5): wallet client cleanup (#2336) * chore: remove 1193 provider * chore: remove webauthn support * feat: add alchemyWalletTransport * feat: add alchemyWalletTransport * chore: restore viem conversion utils * chore: exclude wagmi-core pkg from build * refactor: code review comments * fix: alchemyWalletTransport should respect override url if given * fix(test): fix signing tests with either account type * test: remove aa-sdk from vitest setup (#2339) * test: remove aa-sdk from vitest setup * chore: remove unncessary utils * feat(v5): update wallet_sendPreparedCalls to use new call id (#2341) * feat(v5): update wallet_sendPreparedCalls to use new call id * chore: bump wallet api types pkg * chore: remove accident * chore(v5): publish alpha version 0.0.0-alpha.18 [skip ci] * chore(v5): remove webauthn support (#2347) * chore(v5): remove mav2 webauthn support * chore: add comment * ci: bump action-install-gh-release * Revert commit e5d4dc8 * ci: revert action-install-gh-release version * ci: disable cache * ci: use new rundler release * feat(v5): client-side hex decoding & playing nicer w/ viem (#2342) * feat: make wallet client more compatible w/ viem types Co-Authored-By: Claude <noreply@anthropic.com> * fix: fix more tests and types Co-Authored-By: Claude <noreply@anthropic.com> * fix: use account param, fix tests Co-Authored-By: Claude <noreply@anthropic.com> * fix: fixes from copilot & graphite review Co-Authored-By: Claude <noreply@anthropic.com> * fix: chainId is already number * refactor: allow simple chain w/ id instead of full object on sendCalls * refactor: address changes * refactor: create helpers for extracting runtime rpc types * refactor: rename helpers to be more explicit * fix(test): fix capabilities tests * test: correct test * fix(test): fix tests Co-Authored-By: Claude <noreply@anthropic.com> * fix(test): fix capabilities tests Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * chore(v5): publish alpha version 0.0.0-alpha.19 [skip ci] * fix: update e2e test capabilties response (#2351) Co-authored-by: Claude <noreply@anthropic.com> * fix(v5): properly handle modified request (#2352) * fix(v5): properly handle modified request * chore: bump wallet-api-types * fix: capability decoded types Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * chore(v5): publish alpha version 0.0.0-alpha.20 [skip ci] * feat(v5): better error messages when encoding params fails (#2355) * feat: better error messages when decoding fails Co-Authored-By: Claude <noreply@anthropic.com> * fix: properly handle original values * chore: delete extra file claude created * refactor: fixes from code review * test: fix tests --------- Co-authored-by: Claude <noreply@anthropic.com> * chore(v5): publish alpha version 0.0.0-alpha.21 [skip ci] * chore(v5): prepare for beta (#2359) * chore(v5): prepare for beta Co-Authored-By: Claude <noreply@anthropic.com> * chore: fmt * docs: ignore _media dir Co-Authored-By: Claude <noreply@anthropic.com> * chore: remove old md file * chore: remove old pkgs from tsconfig Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com> * fix: correctly handle modified request when using swaps (#2363) Co-authored-by: Claude <noreply@anthropic.com> * chore(v5): publish alpha version 0.0.0-alpha.22 [skip ci] * chore: bump wallet-api-types pkg (#2366) Co-authored-by: Claude <noreply@anthropic.com> * chore(v5): publish alpha version 0.0.0-alpha.23 [skip ci] * chore: bump viem to ^2.45.0 across all packages Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * chore: fix conflict resolution * chore: fix docs build * chore: fix more conflicts * chore: remove ios build * fix: lint docs --------- Co-authored-by: Adam Egyed <5456061+adamegyed@users.noreply.github.com> Co-authored-by: jakehobbs <jacob.hobbs@alchemy.com> Co-authored-by: trevoraron <trevoraron13@gmail.com> Co-authored-by: dslovinsky <dslovinsky@users.noreply.github.com> Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> Co-authored-by: David Philipson <david.philipson@gmail.com> Co-authored-by: Brian Chen <brian@alchemy.com> Co-authored-by: Blake Duncan <blake.duncan@alchemy.com> Co-authored-by: Linna <38363056+linnall@users.noreply.github.com> Co-authored-by: Shenghu Yang <shenghu@alchemy.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Richard Dang <richardspacedang@gmail.com> Co-authored-by: Alchemy Bot <alchemy-bot@alchemy.com> Co-authored-by: Dan <dan.coombs@alchemy.com> Co-authored-by: Claude <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.
Pull Request Checklist
yarn test)sitefolder, and guidelines for updating/adding docs can be found in the contribution guide)feat!: breaking change)yarn lint:check) and fix any issues? (yarn lint:write)PR-Codex overview
This PR introduces the
webAuthnFactoryAbiand refactors the code to support a new modular account implementation using WebAuthn. It replaces the previousaccountFactoryAbireferences and adds functionality to create and manage WebAuthn accounts.Detailed summary
webAuthnFactoryAbifor WebAuthn account management.getAccountInitCodeto usewebAuthnFactoryAbi.toModularAccountV2to utilizewebAuthnFactoryAbi.SemiModularAccountV2andWebAuthnModularAccountV2.