thirdweb 5.114.2-nightly-98d8f292db7f9fd1a80cc67401787da836f24b8e-20251201000458 → 5.115.0-nightly-9e43da4ec0f88f32e988e445257fb518454c4c81-20251203000341

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/cjs/bridge/Buy.js +2 -1
  2. package/dist/cjs/bridge/Buy.js.map +1 -1
  3. package/dist/cjs/bridge/Sell.js +2 -1
  4. package/dist/cjs/bridge/Sell.js.map +1 -1
  5. package/dist/cjs/react/core/hooks/useStepExecutor.js +89 -2
  6. package/dist/cjs/react/core/hooks/useStepExecutor.js.map +1 -1
  7. package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js +21 -0
  8. package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -1
  9. package/dist/cjs/react/web/ui/Bridge/swap-widget/use-tokens.js +1 -3
  10. package/dist/cjs/react/web/ui/Bridge/swap-widget/use-tokens.js.map +1 -1
  11. package/dist/cjs/version.js +1 -1
  12. package/dist/esm/bridge/Buy.js +2 -1
  13. package/dist/esm/bridge/Buy.js.map +1 -1
  14. package/dist/esm/bridge/Sell.js +2 -1
  15. package/dist/esm/bridge/Sell.js.map +1 -1
  16. package/dist/esm/react/core/hooks/useStepExecutor.js +89 -2
  17. package/dist/esm/react/core/hooks/useStepExecutor.js.map +1 -1
  18. package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js +22 -1
  19. package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -1
  20. package/dist/esm/react/web/ui/Bridge/swap-widget/use-tokens.js +1 -3
  21. package/dist/esm/react/web/ui/Bridge/swap-widget/use-tokens.js.map +1 -1
  22. package/dist/esm/version.js +1 -1
  23. package/dist/scripts/bridge-widget.d.ts +4 -0
  24. package/dist/scripts/bridge-widget.js +86 -86
  25. package/dist/types/bridge/Buy.d.ts +2 -0
  26. package/dist/types/bridge/Buy.d.ts.map +1 -1
  27. package/dist/types/bridge/Sell.d.ts +2 -0
  28. package/dist/types/bridge/Sell.d.ts.map +1 -1
  29. package/dist/types/react/core/hooks/useStepExecutor.d.ts.map +1 -1
  30. package/dist/types/react/web/ui/Bridge/payment-success/SuccessScreen.d.ts.map +1 -1
  31. package/dist/types/react/web/ui/Bridge/swap-widget/use-tokens.d.ts.map +1 -1
  32. package/dist/types/version.d.ts +1 -1
  33. package/package.json +1 -1
  34. package/src/bridge/Buy.ts +4 -0
  35. package/src/bridge/Sell.ts +4 -0
  36. package/src/react/core/hooks/useStepExecutor.ts +130 -7
  37. package/src/react/web/ui/Bridge/payment-success/SuccessScreen.tsx +22 -1
  38. package/src/react/web/ui/Bridge/swap-widget/use-tokens.ts +1 -3
  39. package/src/version.ts +1 -1
@@ -320,6 +320,8 @@ export declare namespace prepare {
320
320
  purchaseData?: PurchaseData;
321
321
  /** Maximum number of steps in the route */
322
322
  maxSteps?: number;
323
+ /** The maximum slippage in basis points (bps) allowed for the transaction. */
324
+ slippageToleranceBps?: number;
323
325
  /**
324
326
  * @hidden
325
327
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Buy.d.ts","sourceRoot":"","sources":["../../../src/bridge/Buy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Buy.d.ts","sourceRoot":"","sources":["../../../src/bridge/Buy.ts"],"names":[],"mappings":"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"}
@@ -311,6 +311,8 @@ export declare namespace prepare {
311
311
  purchaseData?: PurchaseData;
312
312
  /** Maximum number of steps in the route */
313
313
  maxSteps?: number;
314
+ /** The maximum slippage in basis points (bps) allowed for the transaction. */
315
+ slippageToleranceBps?: number;
314
316
  /**
315
317
  * @hidden
316
318
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Sell.d.ts","sourceRoot":"","sources":["../../../src/bridge/Sell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sell.d.ts","sourceRoot":"","sources":["../../../src/bridge/Sell.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,IAAI,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKpD,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6FG;AACH,wBAAsB,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAkDzE;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B;;;;OAIG;IACH,KAAK,OAAO,GAAG;QACb,0BAA0B;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,+BAA+B;QAC/B,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC;QACxC,+BAA+B;QAC/B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oCAAoC;QACpC,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC;QAC7C,gCAAgC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,2BAA2B;QAC3B,MAAM,EAAE,cAAc,CAAC;QACvB,2CAA2C;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAEF;;;;;OAKG;IACH,KAAK,MAAM,GAAG,KAAK,GAAG;QACpB,MAAM,EAAE;YACN,aAAa,EAAE,MAAM,CAAC;YACtB,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC;YACxC,kBAAkB,EAAE,MAAM,CAAC;YAC3B,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyIG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CA6EzB;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B;;;;OAIG;IACH,KAAK,OAAO,GAAG;QACb,0BAA0B;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,+BAA+B;QAC/B,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC;QACxC,+BAA+B;QAC/B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,oCAAoC;QACpC,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC;QAC7C,gCAAgC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,yBAAyB;QACzB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;QAC5B,2BAA2B;QAC3B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC;QAC9B,2BAA2B;QAC3B,MAAM,EAAE,cAAc,CAAC;QACvB,8BAA8B;QAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,2CAA2C;QAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,8EAA8E;QAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B;;WAEG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAEF;;;;;OAKG;IACH,KAAK,MAAM,GAAG,aAAa,GAAG;QAC5B,MAAM,EAAE;YACN,aAAa,EAAE,MAAM,CAAC;YACtB,kBAAkB,EAAE,WAAW,CAAC,OAAO,CAAC;YACxC,kBAAkB,EAAE,MAAM,CAAC;YAC3B,uBAAuB,EAAE,WAAW,CAAC,OAAO,CAAC;YAC7C,MAAM,EAAE,MAAM,CAAC;YACf,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC;YAC5B,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC;YAC9B,YAAY,CAAC,EAAE,YAAY,CAAC;SAC7B,CAAC;KACH,CAAC;CACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"useStepExecutor.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/hooks/useStepExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,EACV,SAAS,EAEV,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,CAAC;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,GAC5D,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,GAC7D,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,GACjE,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,OAAO,CAC3B,YAAY,CAAC,MAAM,EACnB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CACxB,CAAC,CAAC;AAEP;;GAEG;AACH,UAAU,mBAAmB;IAC3B,aAAa,EAAE,mBAAmB,CAAC;IACnC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,aAAa,EAAE,aAAa,CAAC;IAC7B,oCAAoC;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qGAAqG;IACrG,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,IAAI,CAAC;CACnE;AAYD;;GAEG;AACH,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChE,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,CAAC;IACvD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAmBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CA8fpB"}
1
+ {"version":3,"file":"useStepExecutor.d.ts","sourceRoot":"","sources":["../../../../../src/react/core/hooks/useStepExecutor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,EACV,SAAS,EAEV,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC7B,CAAC;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,GAC5D,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,GAC7D,CAAC;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAAC,GACjE,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,OAAO,CAC3B,YAAY,CAAC,MAAM,EACnB;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CACxB,CAAC,CAAC;AAEP;;GAEG;AACH,UAAU,mBAAmB;IAC3B,aAAa,EAAE,mBAAmB,CAAC;IACnC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,aAAa,EAAE,aAAa,CAAC;IAC7B,oCAAoC;IACpC,MAAM,EAAE,cAAc,CAAC;IACvB,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qGAAqG;IACrG,UAAU,CAAC,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,KAAK,IAAI,CAAC;CACnE;AAYD;;GAEG;AACH,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChE,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,CAAC;IACvD,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAmBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,mBAAmB,GAC3B,kBAAkB,CA4mBpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SuccessScreen.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/Bridge/payment-success/SuccessScreen.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAGhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAOvF,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAE3C;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAIF,wBAAgB,aAAa,CAAC,EAC5B,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,MAAM,EACN,YAAoB,EACpB,kBAAkB,GACnB,EAAE,kBAAkB,2CAwIpB"}
1
+ {"version":3,"file":"SuccessScreen.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/Bridge/payment-success/SuccessScreen.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAGhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAOvF,KAAK,kBAAkB,GAAG;IACxB;;OAEG;IACH,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,aAAa,EAAE,mBAAmB,CAAC;IAEnC;;OAEG;IACH,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAE3C;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;IAEnB;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAE7B,MAAM,EAAE,cAAc,CAAC;IAEvB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAIF,wBAAgB,aAAa,CAAC,EAC5B,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,MAAM,EACN,YAAoB,EACpB,kBAAkB,GACnB,EAAE,kBAAkB,2CA6JpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-tokens.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/Bridge/swap-widget/use-tokens.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,wBAAgB,SAAS,CAAC,OAAO,EAAE;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,kEA0BA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAcF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;gBAhBe;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB;YACO,YAAY,EAAE;UAqDzB"}
1
+ {"version":3,"file":"use-tokens.d.ts","sourceRoot":"","sources":["../../../../../../../src/react/web/ui/Bridge/swap-widget/use-tokens.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,wBAAgB,SAAS,CAAC,OAAO,EAAE;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,kEA0BA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE;QACV,kBAAkB,EAAE,MAAM,CAAC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,kBAAkB,EAAE,MAAM,CAAC;QAC3B,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAcF,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;gBAhBe;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB;YACO,YAAY,EAAE;UAmDzB"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.114.2-nightly-98d8f292db7f9fd1a80cc67401787da836f24b8e-20251201000458";
1
+ export declare const version = "5.115.0-nightly-9e43da4ec0f88f32e988e445257fb518454c4c81-20251203000341";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -399,7 +399,7 @@
399
399
  }
400
400
  },
401
401
  "typings": "./dist/types/exports/thirdweb.d.ts",
402
- "version": "5.114.2-nightly-98d8f292db7f9fd1a80cc67401787da836f24b8e-20251201000458",
402
+ "version": "5.115.0-nightly-9e43da4ec0f88f32e988e445257fb518454c4c81-20251203000341",
403
403
  "scripts": {
404
404
  "bench": "vitest -c ./test/vitest.config.ts bench",
405
405
  "bench:compare": "bun run ./benchmarks/run.ts",
package/src/bridge/Buy.ts CHANGED
@@ -366,6 +366,7 @@ export async function prepare(
366
366
  purchaseData,
367
367
  maxSteps,
368
368
  paymentLinkId,
369
+ slippageToleranceBps,
369
370
  } = options;
370
371
 
371
372
  const clientFetch = getClientFetch(client);
@@ -384,6 +385,7 @@ export async function prepare(
384
385
  purchaseData,
385
386
  receiver,
386
387
  sender,
388
+ slippageToleranceBps,
387
389
  }),
388
390
  headers: {
389
391
  "Content-Type": "application/json",
@@ -460,6 +462,8 @@ export declare namespace prepare {
460
462
  purchaseData?: PurchaseData;
461
463
  /** Maximum number of steps in the route */
462
464
  maxSteps?: number;
465
+ /** The maximum slippage in basis points (bps) allowed for the transaction. */
466
+ slippageToleranceBps?: number;
463
467
  /**
464
468
  * @hidden
465
469
  */
@@ -352,6 +352,7 @@ export async function prepare(
352
352
  purchaseData,
353
353
  maxSteps,
354
354
  paymentLinkId,
355
+ slippageToleranceBps,
355
356
  } = options;
356
357
 
357
358
  const clientFetch = getClientFetch(client);
@@ -370,6 +371,7 @@ export async function prepare(
370
371
  receiver,
371
372
  sellAmountWei: amount.toString(),
372
373
  sender,
374
+ slippageToleranceBps,
373
375
  }),
374
376
  headers: {
375
377
  "Content-Type": "application/json",
@@ -448,6 +450,8 @@ export declare namespace prepare {
448
450
  purchaseData?: PurchaseData;
449
451
  /** Maximum number of steps in the route */
450
452
  maxSteps?: number;
453
+ /** The maximum slippage in basis points (bps) allowed for the transaction. */
454
+ slippageToleranceBps?: number;
451
455
  /**
452
456
  * @hidden
453
457
  */
@@ -9,6 +9,7 @@ import type { Status } from "../../../bridge/types/Status.js";
9
9
  import { getCachedChain } from "../../../chains/utils.js";
10
10
  import type { ThirdwebClient } from "../../../client/client.js";
11
11
  import { waitForReceipt } from "../../../transaction/actions/wait-for-tx-receipt.js";
12
+ import { waitForCallsReceipt } from "../../../wallets/eip5792/wait-for-calls-receipt.js";
12
13
  import type { Account, Wallet } from "../../../wallets/interfaces/wallet.js";
13
14
  import type { WindowAdapter } from "../adapters/WindowAdapter.js";
14
15
  import type { BridgePrepareResult } from "./useBridgePrepare.js";
@@ -200,6 +201,7 @@ export function useStepExecutor(
200
201
  data: tx.data,
201
202
  to: tx.to,
202
203
  value: tx.value,
204
+ extraGas: 50000n, // add gas buffer
203
205
  });
204
206
 
205
207
  // Send the transaction
@@ -276,6 +278,7 @@ export function useStepExecutor(
276
278
  data: tx.data,
277
279
  to: tx.to,
278
280
  value: tx.value,
281
+ extraGas: 50000n, // add gas buffer
279
282
  });
280
283
  return preparedTx;
281
284
  }),
@@ -326,6 +329,95 @@ export function useStepExecutor(
326
329
  [poller, preparedQuote?.type],
327
330
  );
328
331
 
332
+ // Execute batch transactions
333
+ const executeSendCalls = useCallback(
334
+ async (
335
+ txs: FlattenedTx[],
336
+ wallet: Wallet,
337
+ account: Account,
338
+ completedStatusResults: CompletedStatusResult[],
339
+ abortSignal: AbortSignal,
340
+ ) => {
341
+ if (typeof preparedQuote?.type === "undefined") {
342
+ throw new Error("No quote generated. This is unexpected.");
343
+ }
344
+ if (!account.sendCalls) {
345
+ throw new Error("Account does not support eip5792 send calls");
346
+ }
347
+
348
+ const { prepareTransaction } = await import(
349
+ "../../../transaction/prepare-transaction.js"
350
+ );
351
+ const { sendCalls } = await import(
352
+ "../../../wallets/eip5792/send-calls.js"
353
+ );
354
+
355
+ if (txs.length === 0) {
356
+ throw new Error("No transactions to batch");
357
+ }
358
+ const firstTx = txs[0];
359
+ if (!firstTx) {
360
+ throw new Error("Invalid batch transaction");
361
+ }
362
+
363
+ // Prepare and convert all transactions
364
+ const serializableTxs = await Promise.all(
365
+ txs.map(async (tx) => {
366
+ const preparedTx = prepareTransaction({
367
+ chain: tx.chain,
368
+ client: tx.client,
369
+ data: tx.data,
370
+ to: tx.to,
371
+ value: tx.value,
372
+ extraGas: 50000n, // add gas buffer
373
+ });
374
+ return preparedTx;
375
+ }),
376
+ );
377
+
378
+ // Send batch
379
+ const result = await sendCalls({
380
+ wallet,
381
+ calls: serializableTxs,
382
+ });
383
+
384
+ // get tx hash
385
+ const callsStatus = await waitForCallsReceipt(result);
386
+ const lastReceipt =
387
+ callsStatus.receipts?.[callsStatus.receipts.length - 1];
388
+
389
+ if (!lastReceipt) {
390
+ throw new Error("No receipts found");
391
+ }
392
+
393
+ const { status } = await import("../../../bridge/Status.js");
394
+ await poller(async () => {
395
+ const statusResult = await status({
396
+ chainId: firstTx.chainId,
397
+ client: firstTx.client,
398
+ transactionHash: lastReceipt.transactionHash,
399
+ });
400
+
401
+ if (statusResult.status === "COMPLETED") {
402
+ // Add type field from preparedQuote for discriminated union
403
+ const typedStatusResult = {
404
+ type: preparedQuote.type,
405
+ ...statusResult,
406
+ };
407
+ completedStatusResults.push(typedStatusResult);
408
+ return { completed: true };
409
+ }
410
+
411
+ if (statusResult.status === "FAILED") {
412
+ throw new Error("Payment failed");
413
+ }
414
+
415
+ return { completed: false };
416
+ }, abortSignal);
417
+ },
418
+ [poller, preparedQuote?.type],
419
+ );
420
+
329
421
  // Execute onramp step
330
422
  const executeOnramp = useCallback(
331
423
  async (
@@ -448,11 +540,15 @@ export function useStepExecutor(
448
540
  }
449
541
 
450
542
  // Check if we can batch transactions
543
+ const canSendCalls =
544
+ (await supportsAtomic(account, currentTx.chainId)) &&
545
+ i < flatTxs.length - 1; // Not the last transaction;
546
+
451
547
  const canBatch =
452
548
  account.sendBatchTransaction !== undefined &&
453
549
  i < flatTxs.length - 1; // Not the last transaction
454
550
 
455
- if (canBatch) {
551
+ if (canBatch || canSendCalls) {
456
552
  // Find consecutive transactions on the same chain
457
553
  const batchTxs: FlattenedTx[] = [currentTx];
458
554
  let j = i + 1;
@@ -467,12 +563,26 @@ export function useStepExecutor(
467
563
 
468
564
  // Execute batch if we have multiple transactions
469
565
  if (batchTxs.length > 1) {
470
- await executeBatch(
471
- batchTxs,
472
- account,
473
- completedStatusResults,
474
- abortController.signal,
475
- );
566
+ // prefer batching if supported
567
+ if (canBatch) {
568
+ await executeBatch(
569
+ batchTxs,
570
+ account,
571
+ completedStatusResults,
572
+ abortController.signal,
573
+ );
574
+ } else if (canSendCalls) {
575
+ await executeSendCalls(
576
+ batchTxs,
577
+ wallet,
578
+ account,
579
+ completedStatusResults,
580
+ abortController.signal,
581
+ );
582
+ } else {
583
+ // should never happen
584
+ throw new Error("No supported execution mode found");
585
+ }
476
586
 
477
587
  // Mark all batched transactions as completed
478
588
  for (const tx of batchTxs) {
@@ -530,6 +640,7 @@ export function useStepExecutor(
530
640
  flatTxs,
531
641
  executeSingleTx,
532
642
  executeBatch,
643
+ executeSendCalls,
533
644
  onrampStatus,
534
645
  executeOnramp,
535
646
  onComplete,
@@ -602,3 +713,15 @@ export function useStepExecutor(
602
713
  steps: preparedQuote?.steps,
603
714
  };
604
715
  }
716
+
717
+ async function supportsAtomic(account: Account, chainId: number) {
718
+ const capabilitiesFn = account.getCapabilities;
719
+ if (!capabilitiesFn) {
720
+ return false;
721
+ }
722
+ const capabilities = await capabilitiesFn({ chainId });
723
+ const atomic = capabilities[chainId]?.atomic as
724
+ | { status: "supported" | "ready" | "unsupported" }
725
+ | undefined;
726
+ return atomic?.status === "supported" || atomic?.status === "ready";
727
+ }
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { CheckIcon } from "@radix-ui/react-icons";
3
- import { useQuery } from "@tanstack/react-query";
3
+ import { useQuery, useQueryClient } from "@tanstack/react-query";
4
4
  import { useState } from "react";
5
5
  import { trackPayEvent } from "../../../../../analytics/track/pay.js";
6
6
  import type { ThirdwebClient } from "../../../../../client/client.js";
@@ -61,6 +61,7 @@ export function SuccessScreen({
61
61
  }: SuccessScreenProps) {
62
62
  const theme = useCustomTheme();
63
63
  const [viewState, setViewState] = useState<ViewState>("success");
64
+ const queryClient = useQueryClient();
64
65
 
65
66
  useQuery({
66
67
  queryFn: () => {
@@ -74,6 +75,26 @@ export function SuccessScreen({
74
75
  toToken: preparedQuote.intent.destinationTokenAddress,
75
76
  });
76
77
  }
78
+ if (preparedQuote.type === "transfer") {
79
+ trackPayEvent({
80
+ chainId: preparedQuote.intent.chainId,
81
+ client: client,
82
+ event: "ub:ui:success_screen",
83
+ fromToken: preparedQuote.intent.tokenAddress,
84
+ toChainId: preparedQuote.intent.chainId,
85
+ toToken: preparedQuote.intent.tokenAddress,
86
+ });
87
+ }
88
+ queryClient.invalidateQueries({
89
+ queryKey: ["bridge/v1/wallets"],
90
+ });
91
+ queryClient.invalidateQueries({
92
+ queryKey: ["walletBalance"],
93
+ });
94
+ queryClient.invalidateQueries({
95
+ queryKey: ["payment-methods"],
96
+ });
97
+ return true;
77
98
  },
78
99
  queryKey: ["success_screen", preparedQuote.type],
79
100
  });
@@ -116,8 +116,6 @@ export function useTokenBalances(options: {
116
116
  const json = (await response.json()) as TokenBalancesResponse;
117
117
  return json.result;
118
118
  },
119
- refetchOnMount: false,
120
- retry: false,
121
- refetchOnWindowFocus: false,
119
+ refetchOnMount: "always",
122
120
  });
123
121
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.114.2-nightly-98d8f292db7f9fd1a80cc67401787da836f24b8e-20251201000458";
1
+ export const version = "5.115.0-nightly-9e43da4ec0f88f32e988e445257fb518454c4c81-20251203000341";