Skip to content

Version Packages #7207

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
merged 1 commit into from
May 29, 2025
Merged

Version Packages #7207

merged 1 commit into from
May 29, 2025

Conversation

joaquim-verges
Copy link
Member

@joaquim-verges joaquim-verges commented May 29, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

thirdweb@5.102.0

Minor Changes

  • #7190 861e623 Thanks @joaquim-verges! - Enhanced Engine functionality with server wallet management, search transactions and batch transaction support:

    • Added Engine.createServerWallet() to create a new server wallet with a custom label

      import { Engine } from "thirdweb";
      
      const serverWallet = await Engine.createServerWallet({
        client,
        label: "My Server Wallet",
      });
      console.log(serverWallet.address);
      console.log(serverWallet.smartAccountAddress);
    • Added Engine.getServerWallets() to list all existing server wallets

      import { Engine } from "thirdweb";
      
      const serverWallets = await Engine.getServerWallets({
        client,
      });
      console.log(serverWallets);
    • Added Engine.searchTransactions() to search for transactions by various filters (id, chainId, from address, etc.)

      // Search by transaction IDs
      const transactions = await Engine.searchTransactions({
        client,
        filters: [
          {
            field: "id",
            values: ["1", "2", "3"],
          },
        ],
      });
      
      // Search by chain ID and sender address
      const transactions = await Engine.searchTransactions({
        client,
        filters: [
          {
            filters: [
              {
                field: "from",
                values: ["0x1234567890123456789012345678901234567890"],
              },
              {
                field: "chainId",
                values: ["8453"],
              },
            ],
            operation: "AND",
          },
        ],
        pageSize: 100,
        page: 0,
      });
    • Added serverWallet.enqueueBatchTransaction() to enqueue multiple transactions in a single batch

      // Prepare multiple transactions
      const transaction1 = claimTo({
        contract,
        to: firstRecipient,
        quantity: 1n,
      });
      const transaction2 = claimTo({
        contract,
        to: secondRecipient,
        quantity: 1n,
      });
      
      // Enqueue as a batch
      const { transactionId } = await serverWallet.enqueueBatchTransaction({
        transactions: [transaction1, transaction2],
      });
      
      // Wait for batch completion
      const { transactionHash } = await Engine.waitForTransactionHash({
        client,
        transactionId,
      });
    • Improved server wallet transaction handling with better error reporting

Patch Changes

  • Updated dependencies [861e623]:
    • @thirdweb-dev/engine@3.0.3

@thirdweb-dev/engine@3.0.3

Patch Changes

@thirdweb-dev/wagmi-adapter@0.2.86


PR-Codex overview

This PR focuses on updating the versions of several packages and enhancing the Engine functionality in the thirdweb library, particularly around server wallet management and transaction handling.

Detailed summary

  • Updated version in packages/thirdweb/package.json from 5.101.2 to 5.102.0
  • Updated version in packages/engine/package.json from 3.0.2 to 3.0.3
  • Updated version in packages/wagmi-adapter/package.json from 0.2.85 to 0.2.86
  • Added new features to Engine:
    • Engine.createServerWallet() to create a server wallet
    • Engine.getServerWallets() to list existing server wallets
    • Engine.searchTransactions() for searching transactions with filters
    • serverWallet.enqueueBatchTransaction() to enqueue multiple transactions
  • Improved error reporting for server wallet transactions
  • Updated dependencies for better functionality

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Summary by CodeRabbit

  • New Features

    • Introduced server wallet management, including creation and retrieval of server wallets with custom labels.
    • Added transaction search functionality with advanced filtering and pagination options.
    • Enabled batch transaction support for server wallets, allowing multiple transactions to be enqueued and processed together.
    • Improved error reporting for server wallet transactions.
  • Chores

    • Upgraded dependencies and incremented package versions for stability and compatibility.

@joaquim-verges joaquim-verges requested review from a team as code owners May 29, 2025 20:23
Copy link

vercel bot commented May 29, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs-v2 ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 29, 2025 8:32pm
login ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 29, 2025 8:32pm
thirdweb_playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 29, 2025 8:32pm
thirdweb-www ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 29, 2025 8:32pm
wallet-ui ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 29, 2025 8:32pm

Copy link
Contributor

graphite-app bot commented May 29, 2025

How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • merge-queue - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

Copy link
Contributor

coderabbitai bot commented May 29, 2025

Walkthrough

This update introduces new server wallet management and transaction search features to the Engine module, including methods for creating and retrieving server wallets, searching transactions with advanced filters, batch transaction support, and improved error reporting. It also updates package versions and changelogs across multiple packages.

Changes

File(s) Change Summary
.changeset/engine-enhancements.md, .changeset/stupid-adults-flow.md Deleted changeset markdown files documenting previous or patch changes.
packages/engine/CHANGELOG.md, packages/thirdweb/CHANGELOG.md, Added or updated changelog entries for new features and version bumps.
packages/wagmi-adapter/CHANGELOG.md Added a new version entry for 0.2.86 with no further detail.
packages/engine/package.json, packages/thirdweb/package.json, Incremented package versions for @thirdweb-dev/engine, thirdweb, and @thirdweb-dev/wagmi-adapter.
packages/wagmi-adapter/package.json

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant Engine
    participant ServerWallet

    Client->>Engine: createServerWallet({label})
    Engine-->>Client: ServerWallet instance

    Client->>Engine: getServerWallets()
    Engine-->>Client: List of ServerWallets

    Client->>Engine: searchTransactions({filters, pagination})
    Engine-->>Client: List of Transactions

    Client->>ServerWallet: enqueueBatchTransaction({transactions})
    ServerWallet-->>Client: { transactionId }

    Client->>Engine: waitForTransactionHash({transactionId})
    Engine-->>Client: { transactionHash }
Loading

Possibly related PRs

  • thirdweb-dev/js#7145: Addresses serialization of bigint values in server wallet transaction calls, which relates to server wallet transaction handling and complements the new API additions for server wallet management.

Suggested labels

packages, SDK


🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Explain this complex logic.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai explain this code block.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and explain its main purpose.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (2)
packages/engine/CHANGELOG.md (1)

7-7: Add missing punctuation in changelog entry
For consistency and clarity, append a period at the end of the patch description.

-Updated to latest API
+Updated to latest API.
🧰 Tools
🪛 LanguageTool

[uncategorized] ~7-~7: A punctuation mark might be missing here.
Context: ...//github.com//pull/7190) [861e623](https://github.com/thirdweb-d...

(AI_EN_LECTOR_MISSING_PUNCTUATION)

packages/thirdweb/CHANGELOG.md (1)

7-8: Consider splitting the PR summary line for readability
The single-line bullet for PR [#7190] is quite long. Splitting the description across two lines can improve readability in the changelog.

- - [#7190](https://github.com/thirdweb-dev/js/pull/7190) [`861e623`](https://github.com/thirdweb-dev/js/commit/861e623a1b7519bcac09c0c6d975cad2c0c5be4f) Thanks [@joaquim-verges](https://github.com/joaquim-verges)! - Enhanced Engine functionality with server wallet management, search transactions and batch transaction support:
+ - [#7190](https://github.com/thirdweb-dev/js/pull/7190) [`861e623`](https://github.com/thirdweb-dev/js/commit/861e623a1b7519bcac09c0c6d975cad2c0c5be4f) Thanks [@joaquim-verges](https://github.com/joaquim-verges)!  
+   Enhanced Engine: server wallet management, transaction search, batch support, and improved error reporting.
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 861e623 and 09a6c0b.

📒 Files selected for processing (8)
  • .changeset/engine-enhancements.md (0 hunks)
  • .changeset/stupid-adults-flow.md (0 hunks)
  • packages/engine/CHANGELOG.md (1 hunks)
  • packages/engine/package.json (1 hunks)
  • packages/thirdweb/CHANGELOG.md (1 hunks)
  • packages/thirdweb/package.json (1 hunks)
  • packages/wagmi-adapter/CHANGELOG.md (1 hunks)
  • packages/wagmi-adapter/package.json (1 hunks)
💤 Files with no reviewable changes (2)
  • .changeset/stupid-adults-flow.md
  • .changeset/engine-enhancements.md
🧰 Additional context used
🪛 LanguageTool
packages/engine/CHANGELOG.md

[uncategorized] ~7-~7: A punctuation mark might be missing here.
Context: ...//github.com//pull/7190) [861e623](https://github.com/thirdweb-d...

(AI_EN_LECTOR_MISSING_PUNCTUATION)

⏰ Context from checks skipped due to timeout of 90000ms (8)
  • GitHub Check: E2E Tests (pnpm, esbuild)
  • GitHub Check: Size
  • GitHub Check: E2E Tests (pnpm, webpack)
  • GitHub Check: Lint Packages
  • GitHub Check: E2E Tests (pnpm, vite)
  • GitHub Check: Build Packages
  • GitHub Check: Unit Tests
  • GitHub Check: Analyze (javascript)
🔇 Additional comments (9)
packages/wagmi-adapter/package.json (1)

3-3: Approve version bump to 0.2.86

The version has been correctly updated from 0.2.85 to 0.2.86 as part of this release.

packages/engine/package.json (1)

3-3: Approve version bump to 3.0.3
The package version has been correctly updated from 3.0.2 to 3.0.3, aligning with the new patch release that supports the latest API enhancements.

packages/thirdweb/package.json (1)

3-3: Approve version bump to 5.102.0
The SDK version has been correctly updated from 5.101.2 to 5.102.0, reflecting the integration of the new Engine features.

packages/thirdweb/CHANGELOG.md (6)

3-6: Confirm semantic version bump
The version header correctly reflects the bump from 5.101.2 to 5.102.0. This aligns with the PR objectives for the new minor release.


9-20: Validate Engine.createServerWallet example
The code snippet for Engine.createServerWallet() looks accurate. Ensure that the example aligns exactly with the public API (parameter names, return shape) and will compile in downstream docs.


22-31: Approve Engine.getServerWallets snippet
The example for Engine.getServerWallets() is clear and self-contained. Good job illustrating how to list server wallets.


33-68: Approve Engine.searchTransactions usage
The filters and pagination examples for searchTransactions() effectively cover both simple and nested queries. Well-formatted and comprehensive.


97-97: Approve improved error reporting entry
The note about enhanced error reporting for server wallet transactions accurately reflects the underlying changes.


99-102: Confirm dependency update
The bump of @thirdweb-dev/engine to 3.0.3 under "Patch Changes" matches the API enhancements. Ensure that package manifests and lockfiles are updated accordingly.

@@ -1,5 +1,11 @@
# @thirdweb-dev/insight

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix changelog header to reference the correct package
The header currently reads # @thirdweb-dev/insight but this is the changelog for the Engine package. It should be updated to # @thirdweb-dev/engine.

Apply this diff:

-# @thirdweb-dev/insight
+# @thirdweb-dev/engine
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# @thirdweb-dev/engine
🤖 Prompt for AI Agents
In packages/engine/CHANGELOG.md at line 2, the changelog header incorrectly
references the package as @thirdweb-dev/insight. Update this header to correctly
reference the Engine package by changing it to # @thirdweb-dev/engine.

Comment on lines +70 to +95
- Added `serverWallet.enqueueBatchTransaction()` to enqueue multiple transactions in a single batch

```ts
// Prepare multiple transactions
const transaction1 = claimTo({
contract,
to: firstRecipient,
quantity: 1n,
});
const transaction2 = claimTo({
contract,
to: secondRecipient,
quantity: 1n,
});

// Enqueue as a batch
const { transactionId } = await serverWallet.enqueueBatchTransaction({
transactions: [transaction1, transaction2],
});

// Wait for batch completion
const { transactionHash } = await Engine.waitForTransactionHash({
client,
transactionId,
});
```
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Missing changelog entry for waitForTransactionHash
The snippet demonstrates Engine.waitForTransactionHash(), but there's no corresponding bullet under "Minor Changes". This method is a key addition per the PR summary and should be listed.

Please insert a bullet, for example:

   - Added `serverWallet.enqueueBatchTransaction()` to enqueue multiple transactions in a single batch
+  - Added `Engine.waitForTransactionHash()` to await batch transaction completion by transaction ID
   - Improved server wallet transaction handling with better error reporting
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Added `serverWallet.enqueueBatchTransaction()` to enqueue multiple transactions in a single batch
```ts
// Prepare multiple transactions
const transaction1 = claimTo({
contract,
to: firstRecipient,
quantity: 1n,
});
const transaction2 = claimTo({
contract,
to: secondRecipient,
quantity: 1n,
});
// Enqueue as a batch
const { transactionId } = await serverWallet.enqueueBatchTransaction({
transactions: [transaction1, transaction2],
});
// Wait for batch completion
const { transactionHash } = await Engine.waitForTransactionHash({
client,
transactionId,
});
```
- Added `serverWallet.enqueueBatchTransaction()` to enqueue multiple transactions in a single batch
+ - Added `Engine.waitForTransactionHash()` to await batch transaction completion by transaction ID
🤖 Prompt for AI Agents
In packages/thirdweb/CHANGELOG.md between lines 70 and 95, add a new bullet
point under the "Minor Changes" section to document the addition of the
Engine.waitForTransactionHash() method. This entry should briefly describe the
method's purpose, such as waiting for a transaction hash given a transaction ID,
to align the changelog with the PR summary and code examples.

Comment on lines +3 to +4
## 0.2.86

Copy link
Contributor

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Missing changelog entry details for 0.2.86
The new version header is present but does not include any release notes (e.g., dependency bumps or compatibility fixes).

Please populate the 0.2.86 section with a concise summary of changes—or add a “No user-facing changes” note—so consumers can track what changed. For example:

## 0.2.86

+### Patch Changes
+- Bump `@thirdweb-dev/engine` to 3.0.3 for Engine API updates
+- Update compatibility with `@thirdweb-dev/thirdweb` v5.102.0
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## 0.2.86
## 0.2.86
### Patch Changes
- Bump `@thirdweb-dev/engine` to 3.0.3 for Engine API updates
- Update compatibility with `@thirdweb-dev/thirdweb` v5.102.0
🤖 Prompt for AI Agents
In packages/wagmi-adapter/CHANGELOG.md at lines 3 to 4, the version header for
0.2.86 is present but lacks any release notes or details. Add a concise summary
of the changes included in this release, such as dependency updates or
compatibility fixes. If there are no user-facing changes, add a note stating "No
user-facing changes" to inform consumers about the release status.

Copy link
Contributor

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
thirdweb (esm) 62.11 KB (0%) 1.3 s (0%) 2.1 s (+18.36% 🔺) 3.3 s
thirdweb (cjs) 345.28 KB (0%) 7 s (0%) 13.4 s (-4.26% 🔽) 20.3 s
thirdweb (minimal + tree-shaking) 5.7 KB (0%) 114 ms (0%) 215 ms (+53.63% 🔺) 329 ms
thirdweb/chains (tree-shaking) 531 B (0%) 11 ms (0%) 37 ms (-20.96% 🔽) 47 ms
thirdweb/react (minimal + tree-shaking) 19.52 KB (0%) 391 ms (0%) 311 ms (+0.48% 🔺) 702 ms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages SDK Involves changes to the thirdweb SDK
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant