thirdweb 5.88.2-nightly-cf53184bb161ed98146343e24586dae7804f6459-20250211000328 → 5.88.2-nightly-0a292138ca21b2d7375db6ff9ef07dc91cffc7fc-20250211122816

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 (75) hide show
  1. package/dist/cjs/chains/chain-definitions/treasure.js +19 -0
  2. package/dist/cjs/chains/chain-definitions/treasure.js.map +1 -0
  3. package/dist/cjs/chains/chain-definitions/treasureTopaz.js +19 -0
  4. package/dist/cjs/chains/chain-definitions/treasureTopaz.js.map +1 -0
  5. package/dist/cjs/exports/chains.js +5 -1
  6. package/dist/cjs/exports/chains.js.map +1 -1
  7. package/dist/cjs/exports/extensions/erc4337.js +2 -1
  8. package/dist/cjs/exports/extensions/erc4337.js.map +1 -1
  9. package/dist/cjs/extensions/erc4337/account/addSessionKey.js +53 -0
  10. package/dist/cjs/extensions/erc4337/account/addSessionKey.js.map +1 -1
  11. package/dist/cjs/react/core/hooks/pay/useBuyWithCryptoQuote.js +1 -19
  12. package/dist/cjs/react/core/hooks/pay/useBuyWithCryptoQuote.js.map +1 -1
  13. package/dist/cjs/react/core/hooks/pay/useBuyWithFiatQuote.js +1 -19
  14. package/dist/cjs/react/core/hooks/pay/useBuyWithFiatQuote.js.map +1 -1
  15. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -2
  16. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  17. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +1 -1
  18. package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
  19. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js +2 -2
  20. package/dist/cjs/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
  21. package/dist/cjs/version.js +1 -1
  22. package/dist/cjs/wallets/smart/index.js +5 -12
  23. package/dist/cjs/wallets/smart/index.js.map +1 -1
  24. package/dist/esm/chains/chain-definitions/treasure.js +16 -0
  25. package/dist/esm/chains/chain-definitions/treasure.js.map +1 -0
  26. package/dist/esm/chains/chain-definitions/treasureTopaz.js +16 -0
  27. package/dist/esm/chains/chain-definitions/treasureTopaz.js.map +1 -0
  28. package/dist/esm/exports/chains.js +2 -0
  29. package/dist/esm/exports/chains.js.map +1 -1
  30. package/dist/esm/exports/extensions/erc4337.js +1 -1
  31. package/dist/esm/exports/extensions/erc4337.js.map +1 -1
  32. package/dist/esm/extensions/erc4337/account/addSessionKey.js +52 -0
  33. package/dist/esm/extensions/erc4337/account/addSessionKey.js.map +1 -1
  34. package/dist/esm/react/core/hooks/pay/useBuyWithCryptoQuote.js +1 -19
  35. package/dist/esm/react/core/hooks/pay/useBuyWithCryptoQuote.js.map +1 -1
  36. package/dist/esm/react/core/hooks/pay/useBuyWithFiatQuote.js +1 -19
  37. package/dist/esm/react/core/hooks/pay/useBuyWithFiatQuote.js.map +1 -1
  38. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +3 -2
  39. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
  40. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +1 -1
  41. package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js.map +1 -1
  42. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js +2 -2
  43. package/dist/esm/utils/any-evm/zksync/isZkSyncChain.js.map +1 -1
  44. package/dist/esm/version.js +1 -1
  45. package/dist/esm/wallets/smart/index.js +6 -13
  46. package/dist/esm/wallets/smart/index.js.map +1 -1
  47. package/dist/types/chains/chain-definitions/treasure.d.ts +7 -0
  48. package/dist/types/chains/chain-definitions/treasure.d.ts.map +1 -0
  49. package/dist/types/chains/chain-definitions/treasureTopaz.d.ts +7 -0
  50. package/dist/types/chains/chain-definitions/treasureTopaz.d.ts.map +1 -0
  51. package/dist/types/exports/chains.d.ts +2 -0
  52. package/dist/types/exports/chains.d.ts.map +1 -1
  53. package/dist/types/exports/extensions/erc4337.d.ts +1 -1
  54. package/dist/types/exports/extensions/erc4337.d.ts.map +1 -1
  55. package/dist/types/extensions/erc4337/account/addSessionKey.d.ts +12 -0
  56. package/dist/types/extensions/erc4337/account/addSessionKey.d.ts.map +1 -1
  57. package/dist/types/react/core/hooks/pay/useBuyWithCryptoQuote.d.ts.map +1 -1
  58. package/dist/types/react/core/hooks/pay/useBuyWithFiatQuote.d.ts.map +1 -1
  59. package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
  60. package/dist/types/version.d.ts +1 -1
  61. package/dist/types/wallets/smart/index.d.ts.map +1 -1
  62. package/package.json +1 -1
  63. package/src/chains/chain-definitions/treasure.ts +16 -0
  64. package/src/chains/chain-definitions/treasureTopaz.ts +16 -0
  65. package/src/exports/chains.ts +2 -0
  66. package/src/exports/extensions/erc4337.ts +1 -0
  67. package/src/extensions/erc4337/account/addSessionKey.ts +80 -0
  68. package/src/extensions/erc4337/account/permissions.test.ts +60 -1
  69. package/src/react/core/hooks/pay/useBuyWithCryptoQuote.ts +1 -30
  70. package/src/react/core/hooks/pay/useBuyWithFiatQuote.ts +1 -30
  71. package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +10 -1
  72. package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.tsx +1 -1
  73. package/src/utils/any-evm/zksync/isZkSyncChain.ts +2 -2
  74. package/src/version.ts +1 -1
  75. package/src/wallets/smart/index.ts +11 -13
@@ -67,4 +67,6 @@ export { metalL2Testnet } from "../chains/chain-definitions/metal-l2-testnet.js"
67
67
  export { modeTestnet } from "../chains/chain-definitions/mode-testnet.js";
68
68
  export { mode } from "../chains/chain-definitions/mode.js";
69
69
  export { soneiumMinato } from "../chains/chain-definitions/soneium-minato.js";
70
+ export { treasure } from "../chains/chain-definitions/treasure.js";
71
+ export { treasureTopaz } from "../chains/chain-definitions/treasureTopaz.js";
70
72
  //# sourceMappingURL=chains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/exports/chains.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/exports/chains.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export { isValidateUserOpSupported } from "../../extensions/erc4337/__generated__/IAccount/write/validateUserOp.js";
2
2
  export { type AddAdminOptions, addAdmin, isAddAdminSupported, } from "../../extensions/erc4337/account/addAdmin.js";
3
3
  export { type RemoveAdminOptions, removeAdmin, isRemoveAdminSupported, } from "../../extensions/erc4337/account/removeAdmin.js";
4
- export { type AddSessionKeyOptions, addSessionKey, isAddSessionKeySupported, } from "../../extensions/erc4337/account/addSessionKey.js";
4
+ export { type AddSessionKeyOptions, addSessionKey, isAddSessionKeySupported, shouldUpdateSessionKey, } from "../../extensions/erc4337/account/addSessionKey.js";
5
5
  export { type RemoveSessionKeyOptions, removeSessionKey, isRemoveSessionKeySupported, } from "../../extensions/erc4337/account/removeSessionKey.js";
6
6
  export { isAccountDeployed, type IsAccountDeployedParams, isIsAccountDeployedSupported, } from "../../extensions/erc4337/account/isAccountDeployed.js";
7
7
  export { createAccount, type CreateAccountParams, isCreateAccountSupported, } from "../../extensions/erc4337/__generated__/IAccountFactory/write/createAccount.js";
@@ -1 +1 @@
1
- {"version":3,"file":"erc4337.d.ts","sourceRoot":"","sources":["../../../../src/exports/extensions/erc4337.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yEAAyE,CAAC;AACpH,OAAO,EACL,KAAK,eAAe,EACpB,QAAQ,EACR,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,KAAK,kBAAkB,EACvB,WAAW,EACX,sBAAsB,GACvB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,KAAK,oBAAoB,EACzB,aAAa,EACb,wBAAwB,GACzB,MAAM,mDAAmD,CAAC;AAE3D,OAAO,EACL,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,sDAAsD,CAAC;AAE9D,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,4BAA4B,GAC7B,MAAM,uDAAuD,CAAC;AAE/D,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,EACxB,wBAAwB,GACzB,MAAM,+EAA+E,CAAC;AAEvF,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,wFAAwF,CAAC;AAChG,OAAO,EACL,YAAY,EACZ,uBAAuB,GACxB,MAAM,iFAAiF,CAAC;AACzF,OAAO,EACL,aAAa,EACb,wBAAwB,GACzB,MAAM,kFAAkF,CAAC;AAC1F,OAAO,EACL,uBAAuB,EACvB,KAAK,6BAA6B,GACnC,MAAM,4FAA4F,CAAC;AACpG,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,mFAAmF,CAAC;AAC3F,OAAO,EACL,OAAO,EACP,kBAAkB,GACnB,MAAM,4EAA4E,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mFAAmF,CAAC;AACtH,OAAO,EAAE,6BAA6B,EAAE,MAAM,+FAA+F,CAAC;AAG9I,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,+EAA+E,CAAC;AACvF,OAAO,EACL,WAAW,EACX,sBAAsB,GACvB,MAAM,4EAA4E,CAAC;AACpF,OAAO,EACL,aAAa,EACb,wBAAwB,GACzB,MAAM,8EAA8E,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,6EAA6E,CAAC;AAC3G,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,8BAA8B,GAC/B,MAAM,oFAAoF,CAAC;AAC5F,OAAO,EACL,UAAU,IAAI,qBAAqB,EACnC,KAAK,gBAAgB,IAAI,2BAA2B,EACpD,qBAAqB,IAAI,gCAAgC,GAC1D,MAAM,2EAA2E,CAAC;AAInF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8EAA8E,CAAC;AACpH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iFAAiF,CAAC;AAC1H,OAAO,EAAE,8BAA8B,EAAE,MAAM,wFAAwF,CAAC;AACxI,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,0EAA0E,CAAC;AAClF,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,8EAA8E,CAAC"}
1
+ {"version":3,"file":"erc4337.d.ts","sourceRoot":"","sources":["../../../../src/exports/extensions/erc4337.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,yEAAyE,CAAC;AACpH,OAAO,EACL,KAAK,eAAe,EACpB,QAAQ,EACR,mBAAmB,GACpB,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EACL,KAAK,kBAAkB,EACvB,WAAW,EACX,sBAAsB,GACvB,MAAM,iDAAiD,CAAC;AAEzD,OAAO,EACL,KAAK,oBAAoB,EACzB,aAAa,EACb,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,mDAAmD,CAAC;AAE3D,OAAO,EACL,KAAK,uBAAuB,EAC5B,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,sDAAsD,CAAC;AAE9D,OAAO,EACL,iBAAiB,EACjB,KAAK,uBAAuB,EAC5B,4BAA4B,GAC7B,MAAM,uDAAuD,CAAC;AAE/D,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,EACxB,wBAAwB,GACzB,MAAM,+EAA+E,CAAC;AAEvF,OAAO,EACL,mBAAmB,EACnB,8BAA8B,GAC/B,MAAM,wFAAwF,CAAC;AAChG,OAAO,EACL,YAAY,EACZ,uBAAuB,GACxB,MAAM,iFAAiF,CAAC;AACzF,OAAO,EACL,aAAa,EACb,wBAAwB,GACzB,MAAM,kFAAkF,CAAC;AAC1F,OAAO,EACL,uBAAuB,EACvB,KAAK,6BAA6B,GACnC,MAAM,4FAA4F,CAAC;AACpG,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,mFAAmF,CAAC;AAC3F,OAAO,EACL,OAAO,EACP,kBAAkB,GACnB,MAAM,4EAA4E,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,mFAAmF,CAAC;AACtH,OAAO,EAAE,6BAA6B,EAAE,MAAM,+FAA+F,CAAC;AAG9I,OAAO,EACL,cAAc,EACd,yBAAyB,GAC1B,MAAM,+EAA+E,CAAC;AACvF,OAAO,EACL,WAAW,EACX,sBAAsB,GACvB,MAAM,4EAA4E,CAAC;AACpF,OAAO,EACL,aAAa,EACb,wBAAwB,GACzB,MAAM,8EAA8E,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,6EAA6E,CAAC;AAC3G,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,8BAA8B,GAC/B,MAAM,oFAAoF,CAAC;AAC5F,OAAO,EACL,UAAU,IAAI,qBAAqB,EACnC,KAAK,gBAAgB,IAAI,2BAA2B,EACpD,qBAAqB,IAAI,gCAAgC,GAC1D,MAAM,2EAA2E,CAAC;AAInF,OAAO,EAAE,oBAAoB,EAAE,MAAM,8EAA8E,CAAC;AACpH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iFAAiF,CAAC;AAC1H,OAAO,EAAE,8BAA8B,EAAE,MAAM,wFAAwF,CAAC;AACxI,OAAO,EACL,aAAa,EACb,KAAK,mBAAmB,GACzB,MAAM,0EAA0E,CAAC;AAClF,OAAO,EACL,gBAAgB,EAChB,KAAK,sBAAsB,GAC5B,MAAM,8EAA8E,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { ThirdwebContract } from "../../../contract/contract.js";
1
2
  import type { BaseTransactionOptions } from "../../../transaction/types.js";
2
3
  import type { Account } from "../../../wallets/interfaces/wallet.js";
3
4
  import type { AccountPermissions } from "./types.js";
@@ -58,4 +59,15 @@ export declare function addSessionKey(options: BaseTransactionOptions<AddSession
58
59
  * ```
59
60
  */
60
61
  export declare function isAddSessionKeySupported(availableSelectors: string[]): boolean;
62
+ /**
63
+ * Checks if the session key should be updated.
64
+ * @param currentPermissions - The current permissions of the session key.
65
+ * @param newPermissions - The new permissions to set for the session key.
66
+ * @returns A boolean indicating if the session key should be updated.
67
+ */
68
+ export declare function shouldUpdateSessionKey(args: {
69
+ accountContract: ThirdwebContract;
70
+ sessionKeyAddress: string;
71
+ newPermissions: AccountPermissions;
72
+ }): Promise<boolean>;
61
73
  //# sourceMappingURL=addSessionKey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"addSessionKey.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/erc4337/account/addSessionKey.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAMrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,kMAiBtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,kBAAkB,EAAE,MAAM,EAAE,WAEpE"}
1
+ {"version":3,"file":"addSessionKey.d.ts","sourceRoot":"","sources":["../../../../../src/extensions/erc4337/account/addSessionKey.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAG5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAOrE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,WAAW,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,sBAAsB,CAAC,oBAAoB,CAAC,kMAiBtD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,kBAAkB,EAAE,MAAM,EAAE,WAEpE;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IACjD,eAAe,EAAE,gBAAgB,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,kBAAkB,CAAC;CACpC,GAAG,OAAO,CAAC,OAAO,CAAC,CAyCnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBuyWithCryptoQuote.d.ts","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/pay/useBuyWithCryptoQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAEjC,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,eAAe,CAAC,kBAAkB,CAAC,EACnC,SAAS,GAAG,UAAU,GAAG,SAAS,CACnC,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,CAAC,EAAE,2BAA2B,EACpC,WAAW,CAAC,EAAE,8BAA8B,GAC3C,cAAc,CAAC,kBAAkB,CAAC,CAkCpC"}
1
+ {"version":3,"file":"useBuyWithCryptoQuote.d.ts","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/pay/useBuyWithCryptoQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAEjC,MAAM,2CAA2C,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAC/C,eAAe,CAAC,kBAAkB,CAAC,EACnC,SAAS,GAAG,UAAU,GAAG,SAAS,CACnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,CAAC,EAAE,2BAA2B,EACpC,WAAW,CAAC,EAAE,8BAA8B,GAC3C,cAAc,CAAC,kBAAkB,CAAC,CAcpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useBuyWithFiatQuote.d.ts","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/pay/useBuyWithFiatQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAE/B,MAAM,yCAAyC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,eAAe,CAAC,gBAAgB,CAAC,EACjC,SAAS,GAAG,UAAU,GAAG,SAAS,CACnC,CAAC;AAWF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,CAAC,EAAE,yBAAyB,EAClC,YAAY,CAAC,EAAE,4BAA4B,GAC1C,cAAc,CAAC,gBAAgB,CAAC,CAiClC"}
1
+ {"version":3,"file":"useBuyWithFiatQuote.d.ts","sourceRoot":"","sources":["../../../../../../src/react/core/hooks/pay/useBuyWithFiatQuote.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAE/B,MAAM,yCAAyC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,eAAe,CAAC,gBAAgB,CAAC,EACjC,SAAS,GAAG,UAAU,GAAG,SAAS,CACnC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,CAAC,EAAE,yBAAyB,EAClC,YAAY,CAAC,EAAE,4BAA4B,GAC1C,cAAc,CAAC,gBAAgB,CAAC,CAalC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BuyScreen.d.ts","sourceRoot":"","sources":["../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EACL,KAAK,KAAK,EAGX,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,4DAA4D,CAAC;AAGpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAGlF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAUnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAgC3D,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,YAAY,CAAC;IACzB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACnD,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,cAAc,8CAqCtD"}
1
+ {"version":3,"file":"BuyScreen.d.ts","sourceRoot":"","sources":["../../../../../../../../src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,EACL,KAAK,KAAK,EAGX,MAAM,4CAA4C,CAAC;AACpD,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,4DAA4D,CAAC;AAGpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAGlF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAUnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAiC3D,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACjC,eAAe,EAAE,eAAe,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,cAAc,CAAC;IACvB,aAAa,EAAE,aAAa,CAAC;IAC7B,UAAU,EAAE,YAAY,CAAC;IACzB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IAChC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,cAAc,EAAE,sBAAsB,GAAG,SAAS,CAAC;IACnD,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,KAAK,EAAE,cAAc,8CAqCtD"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.88.2-nightly-cf53184bb161ed98146343e24586dae7804f6459-20250211000328";
1
+ export declare const version = "5.88.2-nightly-0a292138ca21b2d7375db6ff9ef07dc91cffc7fc-20250211122816";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAwBnD,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,yBAAyB,CAAC;AAuB9E,OAAO,KAAK,EAIV,4BAA4B,EAC5B,kBAAkB,EAInB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAUrD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,iBAAiB,EAAE,4BAA4B,EAC/C,eAAe,EAAE,kBAAkB,GAClC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAwH3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/wallets/smart/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAyBnD,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,yBAAyB,CAAC;AAuB9E,OAAO,KAAK,EAIV,4BAA4B,EAC5B,kBAAkB,EAInB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAUrD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,iBAAiB,EAAE,4BAA4B,EAC/C,eAAe,EAAE,kBAAkB,GAClC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAqH3B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.88.2-nightly-cf53184bb161ed98146343e24586dae7804f6459-20250211000328",
3
+ "version": "5.88.2-nightly-0a292138ca21b2d7375db6ff9ef07dc91cffc7fc-20250211122816",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -0,0 +1,16 @@
1
+ import { defineChain } from "../utils.js";
2
+
3
+ /**
4
+ * @chain
5
+ */
6
+ export const treasure = /* @__PURE__ */ defineChain({
7
+ id: 61166,
8
+ name: "Treasure",
9
+ nativeCurrency: { name: "MAGIC", symbol: "MAGIC", decimals: 18 },
10
+ blockExplorers: [
11
+ {
12
+ name: "Treasure Block Explorer",
13
+ url: "https://treasurescan.io",
14
+ },
15
+ ],
16
+ });
@@ -0,0 +1,16 @@
1
+ import { defineChain } from "../utils.js";
2
+
3
+ /**
4
+ * @chain
5
+ */
6
+ export const treasureTopaz = /* @__PURE__ */ defineChain({
7
+ id: 978658,
8
+ name: "Treasure Topaz",
9
+ nativeCurrency: { name: "MAGIC", symbol: "MAGIC", decimals: 18 },
10
+ blockExplorers: [
11
+ {
12
+ name: "Treasure Topaz Block Explorer",
13
+ url: "https://topaz.treasurescan.io",
14
+ },
15
+ ],
16
+ });
@@ -80,3 +80,5 @@ export { metalL2Testnet } from "../chains/chain-definitions/metal-l2-testnet.js"
80
80
  export { modeTestnet } from "../chains/chain-definitions/mode-testnet.js";
81
81
  export { mode } from "../chains/chain-definitions/mode.js";
82
82
  export { soneiumMinato } from "../chains/chain-definitions/soneium-minato.js";
83
+ export { treasure } from "../chains/chain-definitions/treasure.js";
84
+ export { treasureTopaz } from "../chains/chain-definitions/treasureTopaz.js";
@@ -16,6 +16,7 @@ export {
16
16
  type AddSessionKeyOptions,
17
17
  addSessionKey,
18
18
  isAddSessionKeySupported,
19
+ shouldUpdateSessionKey,
19
20
  } from "../../extensions/erc4337/account/addSessionKey.js";
20
21
 
21
22
  export {
@@ -1,5 +1,10 @@
1
+ import { ZERO_ADDRESS } from "../../../constants/addresses.js";
2
+ import type { ThirdwebContract } from "../../../contract/contract.js";
1
3
  import type { BaseTransactionOptions } from "../../../transaction/types.js";
4
+ import { isContractDeployed } from "../../../utils/bytecode/is-contract-deployed.js";
5
+ import { toWei } from "../../../utils/units.js";
2
6
  import type { Account } from "../../../wallets/interfaces/wallet.js";
7
+ import { getPermissionsForSigner } from "../__generated__/IAccountPermissions/read/getPermissionsForSigner.js";
3
8
  import {
4
9
  isSetPermissionsForSignerSupported,
5
10
  setPermissionsForSigner,
@@ -86,3 +91,78 @@ export function addSessionKey(
86
91
  export function isAddSessionKeySupported(availableSelectors: string[]) {
87
92
  return isSetPermissionsForSignerSupported(availableSelectors);
88
93
  }
94
+
95
+ /**
96
+ * Checks if the session key should be updated.
97
+ * @param currentPermissions - The current permissions of the session key.
98
+ * @param newPermissions - The new permissions to set for the session key.
99
+ * @returns A boolean indicating if the session key should be updated.
100
+ */
101
+ export async function shouldUpdateSessionKey(args: {
102
+ accountContract: ThirdwebContract;
103
+ sessionKeyAddress: string;
104
+ newPermissions: AccountPermissions;
105
+ }): Promise<boolean> {
106
+ const { accountContract, sessionKeyAddress, newPermissions } = args;
107
+
108
+ // check if account is deployed
109
+ const accountDeployed = await isContractDeployed(accountContract);
110
+ if (!accountDeployed) {
111
+ return true;
112
+ }
113
+
114
+ // get current permissions
115
+ const currentPermissions = await getPermissionsForSigner({
116
+ contract: accountContract,
117
+ signer: sessionKeyAddress,
118
+ });
119
+ // check end time validity
120
+ if (
121
+ currentPermissions.endTimestamp &&
122
+ currentPermissions.endTimestamp < Math.floor(new Date().getTime() / 1000)
123
+ ) {
124
+ return true;
125
+ }
126
+
127
+ // check targets
128
+ if (
129
+ !areSessionKeyContractTargetsEqual(
130
+ currentPermissions.approvedTargets,
131
+ newPermissions.approvedTargets,
132
+ )
133
+ ) {
134
+ return true;
135
+ }
136
+
137
+ // check if the new native token limit is greater than the current one
138
+ if (
139
+ toWei(newPermissions.nativeTokenLimitPerTransaction?.toString() ?? "0") >
140
+ currentPermissions.nativeTokenLimitPerTransaction
141
+ ) {
142
+ return true;
143
+ }
144
+
145
+ return false;
146
+ }
147
+
148
+ function areSessionKeyContractTargetsEqual(
149
+ currentTargets: readonly string[],
150
+ newTargets: string[] | "*",
151
+ ): boolean {
152
+ // Handle the case where approvedTargets is "*"
153
+ if (
154
+ newTargets === "*" &&
155
+ currentTargets.length === 1 &&
156
+ currentTargets[0] === ZERO_ADDRESS
157
+ ) {
158
+ return true;
159
+ }
160
+ if (newTargets !== "*") {
161
+ return newTargets
162
+ .map((target) => target.toLowerCase())
163
+ .every((target) =>
164
+ currentTargets.map((t) => t.toLowerCase()).includes(target),
165
+ );
166
+ }
167
+ return false;
168
+ }
@@ -1,9 +1,11 @@
1
1
  import { beforeAll, describe, expect, it } from "vitest";
2
2
  import { ANVIL_CHAIN } from "../../../../test/src/chains.js";
3
3
  import { TEST_CLIENT } from "../../../../test/src/test-clients.js";
4
+ import { USDT_CONTRACT_ADDRESS } from "../../../../test/src/test-contracts.js";
4
5
  import {
5
6
  TEST_ACCOUNT_A,
6
7
  TEST_ACCOUNT_B,
8
+ TEST_ACCOUNT_C,
7
9
  } from "../../../../test/src/test-wallets.js";
8
10
  import { ZERO_ADDRESS } from "../../../constants/addresses.js";
9
11
  import {
@@ -20,7 +22,7 @@ import { adminUpdatedEvent } from "../__generated__/IAccountPermissions/events/A
20
22
  import { signerPermissionsUpdatedEvent } from "../__generated__/IAccountPermissions/events/SignerPermissionsUpdated.js";
21
23
  import { getAllAdmins } from "../__generated__/IAccountPermissions/read/getAllAdmins.js";
22
24
  import { addAdmin } from "./addAdmin.js";
23
- import { addSessionKey } from "./addSessionKey.js";
25
+ import { addSessionKey, shouldUpdateSessionKey } from "./addSessionKey.js";
24
26
  import { removeAdmin } from "./removeAdmin.js";
25
27
 
26
28
  describe.runIf(process.env.TW_SECRET_KEY)("Account Permissions", () => {
@@ -129,5 +131,62 @@ describe.runIf(process.env.TW_SECRET_KEY)("Account Permissions", () => {
129
131
  expect(logs[0]?.args.permissions.approvedTargets).toStrictEqual([
130
132
  ZERO_ADDRESS,
131
133
  ]);
134
+
135
+ expect(
136
+ await shouldUpdateSessionKey({
137
+ accountContract,
138
+ sessionKeyAddress: TEST_ACCOUNT_A.address,
139
+ newPermissions: {
140
+ approvedTargets: "*",
141
+ },
142
+ }),
143
+ ).toBe(false);
144
+
145
+ expect(
146
+ await shouldUpdateSessionKey({
147
+ accountContract,
148
+ sessionKeyAddress: TEST_ACCOUNT_A.address,
149
+ newPermissions: {
150
+ approvedTargets: "*",
151
+ nativeTokenLimitPerTransaction: 0,
152
+ },
153
+ }),
154
+ ).toBe(false);
155
+
156
+ expect(
157
+ await shouldUpdateSessionKey({
158
+ accountContract,
159
+ sessionKeyAddress: TEST_ACCOUNT_A.address,
160
+ newPermissions: {
161
+ approvedTargets: [USDT_CONTRACT_ADDRESS],
162
+ },
163
+ }),
164
+ ).toBe(true);
165
+
166
+ expect(
167
+ await shouldUpdateSessionKey({
168
+ accountContract,
169
+ sessionKeyAddress: TEST_ACCOUNT_A.address,
170
+ newPermissions: {
171
+ approvedTargets: "*",
172
+ nativeTokenLimitPerTransaction: 0.1,
173
+ },
174
+ }),
175
+ ).toBe(true);
176
+ });
177
+
178
+ it("should update session key if account is not deployed", async () => {
179
+ const shouldUpdate = await shouldUpdateSessionKey({
180
+ accountContract: getContract({
181
+ address: TEST_ACCOUNT_C.address,
182
+ chain: ANVIL_CHAIN,
183
+ client: TEST_CLIENT,
184
+ }),
185
+ sessionKeyAddress: TEST_ACCOUNT_A.address,
186
+ newPermissions: {
187
+ approvedTargets: "*",
188
+ },
189
+ });
190
+ expect(shouldUpdate).toBe(true);
132
191
  });
133
192
  });
@@ -17,15 +17,6 @@ export type BuyWithCryptoQuoteQueryOptions = Omit<
17
17
  "queryFn" | "queryKey" | "enabled"
18
18
  >;
19
19
 
20
- /**
21
- * @internal
22
- */
23
- type BuyWithCryptoQuoteError = {
24
- status: string;
25
- code: string;
26
- statusCode: number;
27
- };
28
-
29
20
  /**
30
21
  * Hook to get a price quote for performing a "Buy with crypto" transaction that allows users to buy a token with another token - aka a swap.
31
22
  *
@@ -97,26 +88,6 @@ export function useBuyWithCryptoQuote(
97
88
  return getBuyWithCryptoQuote(params);
98
89
  },
99
90
  enabled: !!params,
100
- retry(failureCount, error) {
101
- if (failureCount > 3) {
102
- return false;
103
- }
104
- try {
105
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
106
- const serverError = (error as any).error as BuyWithCryptoQuoteError;
107
-
108
- if (serverError.code === "MINIMUM_PURCHASE_AMOUNT") {
109
- return false;
110
- }
111
-
112
- if (serverError.statusCode === 404 || serverError.statusCode >= 500) {
113
- return false;
114
- }
115
- } catch {
116
- return true;
117
- }
118
-
119
- return true;
120
- },
91
+ retry: false,
121
92
  });
122
93
  }
@@ -17,15 +17,6 @@ export type BuyWithFiatQuoteQueryOptions = Omit<
17
17
  "queryFn" | "queryKey" | "enabled"
18
18
  >;
19
19
 
20
- /**
21
- * @internal
22
- */
23
- type BuyWithFiatQuoteError = {
24
- status: string;
25
- code: string;
26
- statusCode: number;
27
- };
28
-
29
20
  /**
30
21
  * Hook to get a price quote for performing a "Buy with Fiat" transaction that allows users to buy a token with fiat currency.
31
22
  *
@@ -85,26 +76,6 @@ export function useBuyWithFiatQuote(
85
76
  return getBuyWithFiatQuote(params);
86
77
  },
87
78
  enabled: !!params,
88
- retry(failureCount, error) {
89
- if (failureCount > 3) {
90
- return false;
91
- }
92
- try {
93
- // biome-ignore lint/suspicious/noExplicitAny: <explanation>
94
- const serverError = (error as any).error as BuyWithFiatQuoteError;
95
-
96
- if (serverError.code === "MINIMUM_PURCHASE_AMOUNT") {
97
- return false;
98
- }
99
-
100
- if (serverError.statusCode === 404 || serverError.statusCode >= 500) {
101
- return false;
102
- }
103
- } catch {
104
- return true;
105
- }
106
-
107
- return true;
108
- },
79
+ retry: false,
109
80
  });
110
81
  }
@@ -52,6 +52,7 @@ import {
52
52
  useToTokenSelectionStates,
53
53
  } from "./main/useUISelectionStates.js";
54
54
  import { BuyTokenInput } from "./swap/BuyTokenInput.js";
55
+ import { FiatValue } from "./swap/FiatValue.js";
55
56
  import { PaymentSelectionScreen } from "./swap/PaymentSelectionScreen.js";
56
57
  import { SwapFlow } from "./swap/SwapFlow.js";
57
58
  import { SwapScreenContent } from "./swap/SwapScreenContent.js";
@@ -669,7 +670,7 @@ function SelectedTokenInfo(props: {
669
670
  justifyContent: "space-between",
670
671
  }}
671
672
  >
672
- <Container flex="row" gap="xs" center="y">
673
+ <Container flex="row" gap="xxs" center="y">
673
674
  <Input
674
675
  variant="outline"
675
676
  pattern="^[0-9]*[.,]?[0-9]*$"
@@ -738,6 +739,14 @@ function SelectedTokenInfo(props: {
738
739
  token={props.selectedToken}
739
740
  />
740
741
  </Container>
742
+
743
+ <FiatValue
744
+ chain={props.selectedChain}
745
+ client={props.client}
746
+ tokenAmount={props.tokenAmount}
747
+ token={props.selectedToken}
748
+ size="sm"
749
+ />
741
750
  </Container>
742
751
 
743
752
  <ChainName
@@ -233,7 +233,7 @@ export function FiatSteps(props: {
233
233
 
234
234
  const toTokenInfo = partialSuccessToTokenInfo || (
235
235
  <Text color="primaryText" size="sm">
236
- {formatNumber(Number(toTokenAmount), 6)}
236
+ {formatNumber(Number(toTokenAmount), 6)}{" "}
237
237
  <TokenSymbol token={toToken} chain={toChain} size="sm" inline />
238
238
  </Text>
239
239
  );
@@ -26,8 +26,8 @@ export async function isZkSyncChain(chain: Chain) {
26
26
  chain.id === 4457845 ||
27
27
  chain.id === 2741 ||
28
28
  chain.id === 240 ||
29
- chain.id === 61166 ||
30
- chain.id === 555271
29
+ chain.id === 555271 ||
30
+ chain.id === 61166
31
31
  ) {
32
32
  return true;
33
33
  }
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.88.2-nightly-cf53184bb161ed98146343e24586dae7804f6459-20250211000328";
1
+ export const version = "5.88.2-nightly-0a292138ca21b2d7375db6ff9ef07dc91cffc7fc-20250211122816";
@@ -6,8 +6,10 @@ import type { ThirdwebClient } from "../../client/client.js";
6
6
  import { type ThirdwebContract, getContract } from "../../contract/contract.js";
7
7
  import { allowance } from "../../extensions/erc20/__generated__/IERC20/read/allowance.js";
8
8
  import { approve } from "../../extensions/erc20/write/approve.js";
9
- import { isActiveSigner } from "../../extensions/erc4337/__generated__/IAccountPermissions/read/isActiveSigner.js";
10
- import { addSessionKey } from "../../extensions/erc4337/account/addSessionKey.js";
9
+ import {
10
+ addSessionKey,
11
+ shouldUpdateSessionKey,
12
+ } from "../../extensions/erc4337/account/addSessionKey.js";
11
13
  import { sendTransaction } from "../../transaction/actions/send-transaction.js";
12
14
  import { toSerializableTransaction } from "../../transaction/actions/to-serializable-transaction.js";
13
15
  import type { WaitForReceiptOptions } from "../../transaction/actions/wait-for-tx-receipt.js";
@@ -19,7 +21,6 @@ import type { PreparedTransaction } from "../../transaction/prepare-transaction.
19
21
  import { readContract } from "../../transaction/read-contract.js";
20
22
  import { getAddress } from "../../utils/address.js";
21
23
  import { isZkSyncChain } from "../../utils/any-evm/zksync/isZkSyncChain.js";
22
- import { isContractDeployed } from "../../utils/bytecode/is-contract-deployed.js";
23
24
  import type { Hex } from "../../utils/encoding/hex.js";
24
25
  import { resolvePromisedValue } from "../../utils/promise/resolve-promised-value.js";
25
26
  import { parseTypedData } from "../../utils/signatures/helpers/parse-typed-data.js";
@@ -169,16 +170,13 @@ export async function connectSmartAccount(
169
170
  smartAccountToAdminAccountMap.set(account, personalAccount);
170
171
 
171
172
  if (options.sessionKey) {
172
- let hasSessionKey = false;
173
- // check if already added
174
- const accountDeployed = await isContractDeployed(accountContract);
175
- if (accountDeployed) {
176
- hasSessionKey = await isActiveSigner({
177
- contract: accountContract,
178
- signer: options.sessionKey.address,
179
- });
180
- }
181
- if (!hasSessionKey) {
173
+ if (
174
+ await shouldUpdateSessionKey({
175
+ accountContract,
176
+ sessionKeyAddress: options.sessionKey.address,
177
+ newPermissions: options.sessionKey.permissions,
178
+ })
179
+ ) {
182
180
  const transaction = addSessionKey({
183
181
  account: personalAccount,
184
182
  contract: accountContract,