Skip to content

Bump turbo from 2.9.8 to 2.9.14 (0xsequence#1008) #655

Merged
Dargon789 merged 3 commits into
Dargon789:0xsequence-v3-SDKfrom
0xsequence:master
Jun 5, 2026
Merged

Bump turbo from 2.9.8 to 2.9.14 (0xsequence#1008) #655
Dargon789 merged 3 commits into
Dargon789:0xsequence-v3-SDKfrom
0xsequence:master

Conversation

@Dargon789

Copy link
Copy Markdown
Owner

No description provided.

matt416 and others added 3 commits May 29, 2026 09:50
#1007)

* feat(relayer): propagate sponsored signal and mark swallowed errors

`RpcRelayer.feeOptions` now forwards the server's `sponsored: boolean` to
callers, and both `feeOptions` and `feeTokens` mark their swallowed-error
returns with `failed: true`. The `Relayer` interface and all bundled
implementations (Rpc, Sequence, Local, EIP6963, Pk) are widened to match.

Additive change: existing consumers ignoring the new fields are unaffected.
Downstream sponsorship classifiers should switch from `!feeOption` inference
to `sponsored === true` so a real subsidy is no longer indistinguishable
from a swallowed `/FeeOptions` error.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat(wallet-wdk): carry sponsored/failed on StandardRelayerOption

`StandardRelayerOption` gains optional `sponsored` and `failed` fields,
populated on both construction branches in `transactions.ts` from the
relayer SDK's new `feeOptions` return. `isStandardRelayerOption` /
`isERC4337RelayerOption` are re-exported so consumers can narrow before
reading the new fields.

UI consumers that classified sponsorship by "no fee option attached"
should switch to `sponsored === true` to distinguish a real subsidy from
a swallowed `/FeeOptions` error.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* feat(dapp-client): add isSponsored for explicit sponsorship checks

`DappClient.isSponsored(chainId, transactions)` and
`ChainSessionManager.isSponsored(calls)` return true only when the
relayer's `/FeeOptions` endpoint explicitly reports sponsorship; any
error, network failure, or absence of sponsorship returns false. A true
result is always safe to surface as "free gas" in UI.

Prefer this over inferring sponsorship from an empty `getFeeOptions`
array — a swallowed `/FeeOptions` error produces the same empty shape as
a real subsidy. `getFeeOptions` is unchanged.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Bumps [turbo](https://github.com/vercel/turborepo) from 2.9.8 to 2.9.14.
- [Release notes](https://github.com/vercel/turborepo/releases)
- [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md)
- [Commits](vercel/turborepo@v2.9.8...v2.9.14)

---
updated-dependencies:
- dependency-name: turbo
  dependency-version: 2.9.14
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@codesandbox

codesandbox Bot commented Jun 5, 2026

Copy link
Copy Markdown

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@bolt-new-by-stackblitz

Copy link
Copy Markdown

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry @Dargon789, you have reached your weekly rate limit of 500000 diff characters.

Please try again later or upgrade to continue using Sourcery

@snyk-io

snyk-io Bot commented Jun 5, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@mergify

mergify Bot commented Jun 5, 2026

Copy link
Copy Markdown

⚠️ The sha of the head commit of this PR conflicts with #653. Mergify cannot evaluate rules on this PR. Once #653 is merged or closed, Mergify will resume processing this PR. ⚠️

@Dargon789 Dargon789 merged commit 55d72cc into Dargon789:0xsequence-v3-SDK Jun 5, 2026
29 of 31 checks passed

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces an explicit sponsorship signal (sponsored: boolean) and error markers (failed?: boolean) to the relayer's feeOptions and feeTokens interfaces, updating all bundled relayer implementations, WDK transaction types, and the DappClient. It also adds a robust isSponsored check to safely determine if transactions are subsidized. The review feedback suggests minor improvements to ensure type safety and prevent runtime errors, specifically by defaulting the sponsored flag to false in RpcRelayer and SequenceRelayer when undefined, and defaulting tx.value to BigInt(0) in ChainSessionManager.isSponsored.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

}))

return { options, quote }
return { options, quote, sponsored: result.sponsored }

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since sponsored is a required boolean in the Relayer.feeOptions interface, we should ensure it defaults to false if result.sponsored is undefined (e.g., if the server response does not include it or if it is optional in the client's type definition).

Suggested change
return { options, quote, sponsored: result.sponsored }
return { options, quote, sponsored: result.sponsored ?? false }

return {
options,
quote: quote ? { _tag: 'FeeQuote', _quote: quote } : undefined,
sponsored,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since sponsored is a required boolean in the Relayer.feeOptions interface, we should ensure it defaults to false if sponsored returned from this.service.feeOptions is undefined.

Suggested change
sponsored,
sponsored: sponsored ?? false,

async isSponsored(calls: Transaction[]): Promise<boolean> {
const callsToSend = calls.map((tx) => ({
to: tx.to,
value: tx.value,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

To prevent potential encoding or runtime errors if tx.value is undefined, it is safer to default it to BigInt(0), consistent with how gasLimit is handled on line 895.

Suggested change
value: tx.value,
value: tx.value ?? BigInt(0),

@Dargon789 Dargon789 linked an issue Jun 5, 2026 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Sequence diagram for wagmi dApp wallet connection flow

3 participants