Skip to content

[SmartWallet] implement multidimensional nonces for smart wallets #1821

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 2 commits into from
Oct 20, 2023

Conversation

joaquim-verges
Copy link
Member

Problem solved

You can now chain send transactions without waiting for confirmations on smart wallets

Changes made

  • Public API changes: list the public API changes made if any
  • Internal API changes: explain the internal logic changes

How to test

  • Automated tests: link to unit test file
  • Manual tests: step by step instructions on how to test

@joaquim-verges joaquim-verges requested a review from a team October 20, 2023 23:16
@changeset-bot
Copy link

changeset-bot bot commented Oct 20, 2023

🦋 Changeset detected

Latest commit: d1d226d

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 8 packages
Name Type
@thirdweb-dev/wallets Patch
@thirdweb-dev/auth Patch
thirdweb Patch
@thirdweb-dev/react-core Patch
@thirdweb-dev/react-native Patch
@thirdweb-dev/react Patch
@thirdweb-dev/unity-js-bridge Patch
@thirdweb-dev/react-native-compat Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@joaquim-verges joaquim-verges added this pull request to the merge queue Oct 20, 2023
Merged via the queue into main with commit d27a3de Oct 20, 2023
@joaquim-verges joaquim-verges deleted the joaquim/multinonce branch October 20, 2023 23:31
@github-actions github-actions bot mentioned this pull request Oct 20, 2023
IDubuque pushed a commit that referenced this pull request Nov 9, 2023
[RN] Update weights (#1817)

[RN] i18n more strings and fix fontFamily (#1818)

[RN] i18n strings (#1819)

[RN] Allow custom fontFamily (#1820)

[SmartWallet] implement multidimensional nonces for smart wallets (#1821)

[wallets, react] expose `onAuthSuccess` callback in `paperWallet` (#1815)

[SDK] Perf improvement for erc-1155-signature-mintable (#1824)

[wallets, react] Add OKX wallet (#1826)

Version Packages (#1793)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

[SDK] Improve contract-roles methods (#1798)

Spicy chain gas override (#1805)

Use BigInt function instead of bigint primitive numbers (#1830)

[RN] Allows for custom auth with embeddedWallet (#1806)

[RN] Update changelog (#1833)

[SDK] Perf improvements for erc-20 methods (#1814)

Signed-off-by: Kien Ngo <[email protected]>

[SDK] Add ERC6551 Interface (#1324)

Co-authored-by: ikethirdweb <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>

Patch: missing data arg in isSmartWalletDeployed (#1840)

[RN] Update naming for embeddedWallet jwt flow (#1841)

[SDK] Remove barrel files in `@r\packages\sdk\src\evm` (#1827)

Signed-off-by: Kien Ngo <[email protected]>

[RN] Migrate embedded wallet to new api (#1844)

[SDK] Fix double trailing slash when downloading merkle data (#1850)

chore(chains): sync chains (#1843)

Signed-off-by: Jonas Daniels <[email protected]>

[Wallet] Fix getSmartWalletAddress util function (#1851)

[wallets] - Fix chains package not tree-shaken because of SmartWallet  (#1853)

[SDK/Wallets] Override crypto-js to use latest version to fix vulnera… (#1854)

Fix typo in comments (#1839)

Signed-off-by: vuittont60 <[email protected]>

feat: Update minimum required Node version to 18.17.0 (#1855)

[SmartWallet] Expose new estimation functions for smart wallet transactions (#1856)

feat: Update minimum required Node.js version to >=18 (#1858)

Revert "[SDK/Wallets] Override crypto-js to use latest version to fix vulnera…" (#1859)

Version Packages (#1828)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

chore(chains): sync chains (#1865)

[SmartWallet] expose data in smart wallet utils (#1867)

Version Packages (#1866)

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>

[WALLET + REACT] Add Cometh Connect (#1749)

Signed-off-by: Manan Tank <[email protected]>
Co-authored-by: Manan Tank <[email protected]>
Co-authored-by: Joaquim Verges <[email protected]>

Revert "[WALLET + REACT] Add Cometh Connect" (#1879)

[SDK] Lazy load JSON files (#1862)

Signed-off-by: Kien Ngo <[email protected]>

[RN] Adds Japanese and Spanish support (#1878)
@3Vis3
Copy link

3Vis3 commented Jan 10, 2024

The multidimensional nonce breaks compatibility reaching RPC endpoints using custom Paymaster/Bundlers, such as the Particle Bundler.
I'd suggest using a sequential nonce inside sendTransaction if using a custom PaymasterAPI:

NOW:
const multidimensionalNonce = randomNonce();

FIX:
const nonce = await this.smartAccountAPI.getNonce();

Let me know if it's all clear.

@joaquim-verges
Copy link
Member Author

@3Vis3 interesting, what error do you get from the particle bundler?

Multidimensional nonces are an important feature so that userOps can be send in quick succession without waiting for the bundler to submit the op onchain.

I get your fix but wonder if instead we should allow to control the behavior a bit more explicitly.

Feel free to put up a PR and we can discuss implementations there

jnsdls pushed a commit that referenced this pull request Jun 19, 2024
Bumps [@types/papaparse](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/papaparse) from 5.3.9 to 5.3.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/papaparse)

---
updated-dependencies:
- dependency-name: "@types/papaparse"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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.

2 participants