Skip to content

refactor: use v2 delegated routing for end user operations#659

Merged
sammccord merged 5 commits intomainfrom
sammccord/delegated-signing
Apr 16, 2026
Merged

refactor: use v2 delegated routing for end user operations#659
sammccord merged 5 commits intomainfrom
sammccord/delegated-signing

Conversation

@sammccord
Copy link
Copy Markdown
Contributor

@sammccord sammccord commented Apr 15, 2026

Description

Refactors the TypeScript SDK's end user delegated signing operations to use v2 delegated routing.

Key changes:

  • Remove projectId requirement: Delegated signing/sending operations no longer require a separate projectId parameter. Removed from CdpClientOptions, EndUserClient constructor, ToEndUserAccountOptions, and all API call sites.
  • Rename CDPEndUserClient to EndUserClient: Simplified class naming for consistency.
  • Update OpenAPI spec and regenerate client: Updated openapi.yaml and regenerated TypeScript OpenAPI client code. The embedded-wallets module replaces the old embedded-wallets-delegated-signing / embedded-wallets-core-functionality modules.
  • Remove stale tests: Removed endUser.test.ts and cdpApiClient.test.ts that were tied to the old routing.
  • Add changeset: Minor bump for @coinbase/cdp-sdk.

Tests

The delegated signing operations (signEvmHash, signEvmTransaction, signEvmMessage, signEvmTypedData, sendEvmTransaction, sendEvmAsset, sendUserOperation, createEvmEip7702Delegation, revokeDelegation) were updated to use the v2 API routes which no longer require projectId as a path parameter.

Method: signEvmHash
Network: Base Sepolia
Setup: End user account with delegated signing enabled

Output:
Signature: 0x...

Checklist

  • Updated the typescript README if relevant
  • Updated the python README if relevant
  • Added a changelog entry
  • Added e2e tests if introducing new functionality

@cb-heimdall
Copy link
Copy Markdown

cb-heimdall commented Apr 15, 2026

✅ Heimdall Review Status

Requirement Status More Info
Reviews 2/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 15, 2026

⚠️ Generated Client Files Have Been Modified

This pull request contains manual changes to generated client files. These files are automatically generated from the OpenAPI specification and should not be edited directly.

Please check the workflow logs for details on which files were modified.

To fix this issue:

  1. Revert any manual changes to files in:
    • typescript/src/openapi-client/generated/
    • python/cdp/openapi_client/
    • go/openapi/
    • java/src/main/java/com/coinbase/cdp/openapi/
  2. If you need to change the generated code, update the OpenAPI spec (openapi.yaml) instead
  3. Run the generation commands locally to update the generated files

This comment will be automatically removed once the issue is resolved.

@sammccord sammccord force-pushed the sammccord/delegated-signing branch 3 times, most recently from f5f138b to bf364f8 Compare April 16, 2026 03:57
@cb-heimdall
Copy link
Copy Markdown

Review Error for sddioulde @ 2026-04-16 22:02:08 UTC
User failed mfa authentication, either user does not exist or public email is not set on your github profile. \ see go/mfa-help

@sammccord sammccord force-pushed the sammccord/delegated-signing branch from de79eab to ebb775d Compare April 16, 2026 22:06
@sddioulde sddioulde self-requested a review April 16, 2026 22:08
@sammccord sammccord merged commit 48ea200 into main Apr 16, 2026
49 of 50 checks passed
@sammccord sammccord deleted the sammccord/delegated-signing branch April 16, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants