thirdweb 5.59.0-nightly-e2b3484764275560aa899f3f894b767faedaa9a1-20240925000331 → 5.59.0-nightly-5ab3a81f79e96cb7caed6f591969942b2b67dbb6-20240926000312
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.
- package/dist/cjs/exports/wallets.native.js +3 -1
- package/dist/cjs/exports/wallets.native.js.map +1 -1
- package/dist/cjs/extensions/erc20/write/transfer.js +1 -0
- package/dist/cjs/extensions/erc20/write/transfer.js.map +1 -1
- package/dist/cjs/extensions/erc20/write/transferFrom.js +1 -0
- package/dist/cjs/extensions/erc20/write/transferFrom.js.map +1 -1
- package/dist/cjs/extensions/vote/types.js +2 -0
- package/dist/cjs/extensions/vote/types.js.map +1 -1
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js +2 -3
- package/dist/cjs/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/native/hooks/wallets/useAutoConnect.js +2 -1
- package/dist/cjs/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js +1 -1
- package/dist/cjs/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/cjs/storage/upload.js +19 -0
- package/dist/cjs/storage/upload.js.map +1 -1
- package/dist/cjs/transaction/extract-error.js +2 -2
- package/dist/cjs/transaction/extract-error.js.map +1 -1
- package/dist/cjs/utils/fetch.js +2 -2
- package/dist/cjs/utils/fetch.js.map +1 -1
- package/dist/cjs/utils/process.js +7 -0
- package/dist/cjs/utils/process.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/create-wallet.js +5 -2
- package/dist/cjs/wallets/create-wallet.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/authEndpoint.js +30 -0
- package/dist/cjs/wallets/in-app/core/authentication/authEndpoint.js.map +1 -0
- package/dist/cjs/wallets/in-app/core/authentication/jwt.js +30 -0
- package/dist/cjs/wallets/in-app/core/authentication/jwt.js.map +1 -0
- package/dist/cjs/wallets/in-app/core/authentication/passkeys.js +3 -14
- package/dist/cjs/wallets/in-app/core/authentication/passkeys.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/authentication/types.js +0 -35
- package/dist/cjs/wallets/in-app/core/authentication/types.js.map +1 -1
- package/dist/cjs/wallets/in-app/{web/lib → core/wallet}/enclave-wallet.js +15 -13
- package/dist/cjs/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -0
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js +9 -8
- package/dist/cjs/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/index.js +1 -2
- package/dist/cjs/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/core/wallet/web-wallet.js.map +1 -0
- package/dist/cjs/wallets/in-app/native/auth/index.js +1 -2
- package/dist/cjs/wallets/in-app/native/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/auth/native-auth.js +8 -178
- package/dist/cjs/wallets/in-app/native/auth/native-auth.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/ecosystem.js +84 -0
- package/dist/cjs/wallets/in-app/native/ecosystem.js.map +1 -0
- package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js +50 -24
- package/dist/cjs/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/auth/logout.js +3 -3
- package/dist/cjs/wallets/in-app/native/helpers/auth/logout.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js +28 -54
- package/dist/cjs/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/storage/local.js +20 -18
- package/dist/cjs/wallets/in-app/native/helpers/storage/local.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/wallet/creation.js +8 -4
- package/dist/cjs/wallets/in-app/native/helpers/wallet/creation.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/wallet/recoveryCode.js +16 -6
- package/dist/cjs/wallets/in-app/native/helpers/wallet/recoveryCode.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js +7 -4
- package/dist/cjs/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/helpers/wallet/sharded-wallet.js +72 -0
- package/dist/cjs/wallets/in-app/native/helpers/wallet/sharded-wallet.js.map +1 -0
- package/dist/cjs/wallets/in-app/native/in-app.js.map +1 -1
- package/dist/cjs/wallets/in-app/native/native-connector.js +105 -243
- package/dist/cjs/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/ecosystem.js +13 -7
- package/dist/cjs/wallets/in-app/web/ecosystem.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js +2 -0
- package/dist/cjs/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js +2 -3
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +2 -3
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +2 -3
- package/dist/cjs/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js +1 -2
- package/dist/cjs/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js +9 -14
- package/dist/cjs/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js +13 -13
- package/dist/cjs/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/cjs/wallets/native/create-wallet.js +2 -1
- package/dist/cjs/wallets/native/create-wallet.js.map +1 -1
- package/dist/esm/exports/wallets.native.js +1 -0
- package/dist/esm/exports/wallets.native.js.map +1 -1
- package/dist/esm/extensions/erc20/write/transfer.js +1 -0
- package/dist/esm/extensions/erc20/write/transfer.js.map +1 -1
- package/dist/esm/extensions/erc20/write/transferFrom.js +1 -0
- package/dist/esm/extensions/erc20/write/transferFrom.js.map +1 -1
- package/dist/esm/extensions/vote/types.js +2 -0
- package/dist/esm/extensions/vote/types.js.map +1 -1
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js +2 -3
- package/dist/esm/react/core/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/native/hooks/wallets/useAutoConnect.js +2 -1
- package/dist/esm/react/native/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/react/web/hooks/wallets/useAutoConnect.js +1 -1
- package/dist/esm/react/web/hooks/wallets/useAutoConnect.js.map +1 -1
- package/dist/esm/storage/upload.js +19 -0
- package/dist/esm/storage/upload.js.map +1 -1
- package/dist/esm/transaction/extract-error.js +2 -2
- package/dist/esm/transaction/extract-error.js.map +1 -1
- package/dist/esm/utils/fetch.js +2 -2
- package/dist/esm/utils/fetch.js.map +1 -1
- package/dist/esm/utils/process.js +4 -0
- package/dist/esm/utils/process.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/create-wallet.js +5 -2
- package/dist/esm/wallets/create-wallet.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/authEndpoint.js +27 -0
- package/dist/esm/wallets/in-app/core/authentication/authEndpoint.js.map +1 -0
- package/dist/esm/wallets/in-app/core/authentication/jwt.js +27 -0
- package/dist/esm/wallets/in-app/core/authentication/jwt.js.map +1 -0
- package/dist/esm/wallets/in-app/core/authentication/passkeys.js +3 -14
- package/dist/esm/wallets/in-app/core/authentication/passkeys.js.map +1 -1
- package/dist/esm/wallets/in-app/core/authentication/types.js +1 -34
- package/dist/esm/wallets/in-app/core/authentication/types.js.map +1 -1
- package/dist/esm/wallets/in-app/{web/lib → core/wallet}/enclave-wallet.js +15 -13
- package/dist/esm/wallets/in-app/core/wallet/enclave-wallet.js.map +1 -0
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js +9 -8
- package/dist/esm/wallets/in-app/core/wallet/in-app-core.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/index.js +1 -2
- package/dist/esm/wallets/in-app/core/wallet/index.js.map +1 -1
- package/dist/esm/wallets/in-app/core/wallet/web-wallet.js.map +1 -0
- package/dist/esm/wallets/in-app/native/auth/index.js +1 -2
- package/dist/esm/wallets/in-app/native/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/native/auth/native-auth.js +8 -172
- package/dist/esm/wallets/in-app/native/auth/native-auth.js.map +1 -1
- package/dist/esm/wallets/in-app/native/ecosystem.js +81 -0
- package/dist/esm/wallets/in-app/native/ecosystem.js.map +1 -0
- package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js +48 -22
- package/dist/esm/wallets/in-app/native/helpers/api/fetchers.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/auth/logout.js +4 -4
- package/dist/esm/wallets/in-app/native/helpers/auth/logout.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js +29 -54
- package/dist/esm/wallets/in-app/native/helpers/auth/middleware.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/storage/local.js +21 -16
- package/dist/esm/wallets/in-app/native/helpers/storage/local.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/wallet/creation.js +8 -4
- package/dist/esm/wallets/in-app/native/helpers/wallet/creation.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/wallet/recoveryCode.js +16 -6
- package/dist/esm/wallets/in-app/native/helpers/wallet/recoveryCode.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js +7 -4
- package/dist/esm/wallets/in-app/native/helpers/wallet/retrieval.js.map +1 -1
- package/dist/esm/wallets/in-app/native/helpers/wallet/sharded-wallet.js +68 -0
- package/dist/esm/wallets/in-app/native/helpers/wallet/sharded-wallet.js.map +1 -0
- package/dist/esm/wallets/in-app/native/in-app.js.map +1 -1
- package/dist/esm/wallets/in-app/native/native-connector.js +106 -244
- package/dist/esm/wallets/in-app/native/native-connector.js.map +1 -1
- package/dist/esm/wallets/in-app/web/ecosystem.js +13 -7
- package/dist/esm/wallets/in-app/web/ecosystem.js.map +1 -1
- package/dist/esm/wallets/in-app/web/in-app.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js +2 -0
- package/dist/esm/wallets/in-app/web/lib/actions/get-enclave-user-status.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js +2 -3
- package/dist/esm/wallets/in-app/web/lib/actions/sign-message.enclave.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js +2 -3
- package/dist/esm/wallets/in-app/web/lib/actions/sign-transaction.enclave.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js +2 -3
- package/dist/esm/wallets/in-app/web/lib/actions/sign-typed-data.enclave.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/auth/index.js +1 -2
- package/dist/esm/wallets/in-app/web/lib/auth/index.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js +9 -14
- package/dist/esm/wallets/in-app/web/lib/iframe-wallet.js.map +1 -1
- package/dist/esm/wallets/in-app/web/lib/web-connector.js +13 -13
- package/dist/esm/wallets/in-app/web/lib/web-connector.js.map +1 -1
- package/dist/esm/wallets/native/create-wallet.js +2 -1
- package/dist/esm/wallets/native/create-wallet.js.map +1 -1
- package/dist/types/exports/wallets.native.d.ts +2 -0
- package/dist/types/exports/wallets.native.d.ts.map +1 -1
- package/dist/types/extensions/erc20/write/transfer.d.ts +3 -3
- package/dist/types/extensions/erc20/write/transfer.d.ts.map +1 -1
- package/dist/types/extensions/erc20/write/transferFrom.d.ts +3 -3
- package/dist/types/extensions/erc20/write/transferFrom.d.ts.map +1 -1
- package/dist/types/extensions/vote/types.d.ts.map +1 -1
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts +2 -1
- package/dist/types/react/core/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/native/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/react/web/hooks/wallets/useAutoConnect.d.ts.map +1 -1
- package/dist/types/storage/upload.d.ts +19 -0
- package/dist/types/storage/upload.d.ts.map +1 -1
- package/dist/types/transaction/extract-error.d.ts.map +1 -1
- package/dist/types/utils/fetch.d.ts.map +1 -1
- package/dist/types/utils/process.d.ts +2 -0
- package/dist/types/utils/process.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/create-wallet.d.ts.map +1 -1
- package/dist/types/wallets/ecosystem/types.d.ts +10 -1
- package/dist/types/wallets/ecosystem/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/authEndpoint.d.ts +9 -0
- package/dist/types/wallets/in-app/core/authentication/authEndpoint.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/authentication/jwt.d.ts +9 -0
- package/dist/types/wallets/in-app/core/authentication/jwt.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/authentication/passkeys.d.ts +3 -3
- package/dist/types/wallets/in-app/core/authentication/passkeys.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/authentication/types.d.ts +16 -38
- package/dist/types/wallets/in-app/core/authentication/types.d.ts.map +1 -1
- package/dist/types/wallets/in-app/{web/lib → core/wallet}/enclave-wallet.d.ts +5 -5
- package/dist/types/wallets/in-app/core/wallet/enclave-wallet.d.ts.map +1 -0
- package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts +3 -2
- package/dist/types/wallets/in-app/core/wallet/in-app-core.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/core/wallet/web-wallet.d.ts +11 -0
- package/dist/types/wallets/in-app/core/wallet/web-wallet.d.ts.map +1 -0
- package/dist/types/wallets/in-app/native/auth/index.d.ts +1 -1
- package/dist/types/wallets/in-app/native/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/auth/native-auth.d.ts +5 -16
- package/dist/types/wallets/in-app/native/auth/native-auth.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/ecosystem.d.ts +59 -0
- package/dist/types/wallets/in-app/native/ecosystem.d.ts.map +1 -0
- package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts +20 -4
- package/dist/types/wallets/in-app/native/helpers/api/fetchers.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts +6 -1
- package/dist/types/wallets/in-app/native/helpers/auth/logout.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts +7 -35
- package/dist/types/wallets/in-app/native/helpers/auth/middleware.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts +0 -3
- package/dist/types/wallets/in-app/native/helpers/storage/local.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/creation.d.ts +11 -3
- package/dist/types/wallets/in-app/native/helpers/wallet/creation.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/recoveryCode.d.ts +9 -2
- package/dist/types/wallets/in-app/native/helpers/wallet/recoveryCode.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts +4 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/retrieval.d.ts.map +1 -1
- package/dist/types/wallets/in-app/native/helpers/wallet/sharded-wallet.d.ts +17 -0
- package/dist/types/wallets/in-app/native/helpers/wallet/sharded-wallet.d.ts.map +1 -0
- package/dist/types/wallets/in-app/native/native-connector.d.ts +4 -8
- package/dist/types/wallets/in-app/native/native-connector.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/ecosystem.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/actions/get-enclave-user-status.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts +3 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-message.enclave.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts +3 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-transaction.enclave.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts +3 -1
- package/dist/types/wallets/in-app/web/lib/actions/sign-typed-data.enclave.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/auth/index.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/iframe-wallet.d.ts +3 -3
- package/dist/types/wallets/in-app/web/lib/iframe-wallet.d.ts.map +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts +1 -1
- package/dist/types/wallets/in-app/web/lib/web-connector.d.ts.map +1 -1
- package/dist/types/wallets/native/create-wallet.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/exports/wallets.native.ts +6 -0
- package/src/extensions/erc20/write/transfer.ts +15 -9
- package/src/extensions/erc20/write/transferFrom.ts +15 -9
- package/src/extensions/vote/types.ts +2 -0
- package/src/react/core/hooks/wallets/useAutoConnect.ts +3 -2
- package/src/react/native/hooks/wallets/useAutoConnect.ts +9 -4
- package/src/react/web/hooks/wallets/useAutoConnect.ts +1 -0
- package/src/storage/upload.ts +19 -0
- package/src/transaction/extract-error.ts +2 -3
- package/src/utils/fetch.ts +2 -4
- package/src/utils/process.ts +3 -0
- package/src/version.ts +1 -1
- package/src/wallets/create-wallet.ts +7 -5
- package/src/wallets/ecosystem/types.ts +10 -1
- package/src/wallets/in-app/core/authentication/authEndpoint.ts +42 -0
- package/src/wallets/in-app/core/authentication/jwt.ts +37 -0
- package/src/wallets/in-app/core/authentication/passkeys.ts +7 -17
- package/src/wallets/in-app/core/authentication/types.ts +33 -39
- package/src/wallets/in-app/{web/lib → core/wallet}/enclave-wallet.ts +24 -25
- package/src/wallets/in-app/core/wallet/in-app-core.ts +16 -7
- package/src/wallets/in-app/core/wallet/index.ts +1 -2
- package/src/wallets/in-app/core/wallet/web-wallet.ts +14 -0
- package/src/wallets/in-app/native/auth/index.ts +5 -6
- package/src/wallets/in-app/native/auth/native-auth.ts +14 -242
- package/src/wallets/in-app/native/ecosystem.ts +89 -0
- package/src/wallets/in-app/native/helpers/api/fetchers.ts +54 -25
- package/src/wallets/in-app/native/helpers/auth/logout.ts +9 -8
- package/src/wallets/in-app/native/helpers/auth/middleware.ts +39 -82
- package/src/wallets/in-app/native/helpers/storage/local.ts +22 -23
- package/src/wallets/in-app/native/helpers/wallet/creation.ts +15 -5
- package/src/wallets/in-app/native/helpers/wallet/recoveryCode.ts +21 -12
- package/src/wallets/in-app/native/helpers/wallet/retrieval.ts +14 -3
- package/src/wallets/in-app/native/helpers/wallet/sharded-wallet.ts +72 -0
- package/src/wallets/in-app/native/in-app.ts +1 -1
- package/src/wallets/in-app/native/native-connector.ts +120 -297
- package/src/wallets/in-app/web/ecosystem.ts +14 -8
- package/src/wallets/in-app/web/in-app.ts +1 -1
- package/src/wallets/in-app/web/lib/actions/get-enclave-user-status.ts +3 -1
- package/src/wallets/in-app/web/lib/actions/sign-message.enclave.ts +4 -2
- package/src/wallets/in-app/web/lib/actions/sign-transaction.enclave.ts +4 -2
- package/src/wallets/in-app/web/lib/actions/sign-typed-data.enclave.ts +4 -2
- package/src/wallets/in-app/web/lib/auth/index.ts +6 -7
- package/src/wallets/in-app/web/lib/iframe-wallet.ts +17 -24
- package/src/wallets/in-app/web/lib/web-connector.ts +26 -23
- package/src/wallets/native/create-wallet.ts +5 -3
- package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js +0 -85
- package/dist/cjs/wallets/in-app/core/wallet/ecosystem-core.js.map +0 -1
- package/dist/cjs/wallets/in-app/web/lib/enclave-wallet.js.map +0 -1
- package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js +0 -15
- package/dist/cjs/wallets/in-app/web/lib/get-auth-token.js.map +0 -1
- package/dist/cjs/wallets/in-app/web/lib/web-wallet.js.map +0 -1
- package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js +0 -82
- package/dist/esm/wallets/in-app/core/wallet/ecosystem-core.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/enclave-wallet.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/get-auth-token.js +0 -12
- package/dist/esm/wallets/in-app/web/lib/get-auth-token.js.map +0 -1
- package/dist/esm/wallets/in-app/web/lib/web-wallet.js.map +0 -1
- package/dist/types/wallets/in-app/core/wallet/ecosystem-core.d.ts +0 -13
- package/dist/types/wallets/in-app/core/wallet/ecosystem-core.d.ts.map +0 -1
- package/dist/types/wallets/in-app/web/lib/enclave-wallet.d.ts.map +0 -1
- package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts +0 -4
- package/dist/types/wallets/in-app/web/lib/get-auth-token.d.ts.map +0 -1
- package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts +0 -15
- package/dist/types/wallets/in-app/web/lib/web-wallet.d.ts.map +0 -1
- package/src/wallets/in-app/core/wallet/ecosystem-core.ts +0 -121
- package/src/wallets/in-app/web/lib/get-auth-token.ts +0 -18
- package/src/wallets/in-app/web/lib/web-wallet.ts +0 -23
- /package/dist/cjs/wallets/in-app/{web/lib → core/wallet}/web-wallet.js +0 -0
- /package/dist/esm/wallets/in-app/{web/lib → core/wallet}/web-wallet.js +0 -0
@@ -1,68 +1,27 @@
|
|
1
1
|
import * as WebBrowser from "expo-web-browser";
|
2
|
-
import type { Chain } from "../../../../chains/types.js";
|
3
2
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
4
|
-
import {
|
5
|
-
import type { Wallet } from "../../../interfaces/wallet.js";
|
3
|
+
import type { ClientScopedStorage } from "../../core/authentication/client-scoped-storage.js";
|
6
4
|
import { getLoginUrl } from "../../core/authentication/getLoginPath.js";
|
7
|
-
import { guestAuthenticate } from "../../core/authentication/guest.js";
|
8
|
-
import { siweAuthenticate } from "../../core/authentication/siwe.js";
|
9
5
|
import type {
|
10
6
|
AuthStoredTokenWithCookieReturnType,
|
11
|
-
MultiStepAuthArgsType,
|
12
7
|
OAuthRedirectObject,
|
13
8
|
} from "../../core/authentication/types.js";
|
14
9
|
import type { Ecosystem } from "../../core/wallet/types.js";
|
15
|
-
import {
|
16
|
-
import {
|
17
|
-
deleteAccount,
|
18
|
-
getSessionHeaders,
|
19
|
-
verifyClientId,
|
20
|
-
} from "../helpers/api/fetchers.js";
|
21
|
-
import { postAuth, postAuthUserManaged } from "../helpers/auth/middleware.js";
|
22
|
-
import {
|
23
|
-
ROUTE_AUTH_ENDPOINT_CALLBACK,
|
24
|
-
ROUTE_AUTH_JWT_CALLBACK,
|
25
|
-
} from "../helpers/constants.js";
|
10
|
+
import { deleteAccount, verifyClientId } from "../helpers/api/fetchers.js";
|
26
11
|
import { createErrorMessage } from "../helpers/errors.js";
|
27
12
|
|
28
|
-
export async function
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
const { storedToken } = await verifyOtp(options);
|
35
|
-
try {
|
36
|
-
const toStoreToken: AuthStoredTokenWithCookieReturnType["storedToken"] = {
|
37
|
-
jwtToken: storedToken.jwtToken,
|
38
|
-
authDetails: storedToken.authDetails,
|
39
|
-
authProvider: storedToken.authProvider,
|
40
|
-
developerClientId: storedToken.developerClientId,
|
41
|
-
cookieString: storedToken.cookieString,
|
42
|
-
// we should always store the jwt cookie since there's no concept of cookie in react native
|
43
|
-
shouldStoreCookieString: true,
|
44
|
-
isNewUser: storedToken.isNewUser,
|
45
|
-
};
|
46
|
-
|
47
|
-
await postAuth({ storedToken: toStoreToken, client: options.client });
|
48
|
-
|
49
|
-
return { storedToken };
|
50
|
-
} catch (e) {
|
51
|
-
throw new Error(
|
52
|
-
createErrorMessage("Malformed response from post authentication", e),
|
53
|
-
);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
|
57
|
-
export async function authenticate(
|
58
|
-
auth: OAuthRedirectObject,
|
59
|
-
client: ThirdwebClient,
|
60
|
-
): Promise<AuthStoredTokenWithCookieReturnType> {
|
13
|
+
export async function socialAuth(args: {
|
14
|
+
auth: OAuthRedirectObject;
|
15
|
+
client: ThirdwebClient;
|
16
|
+
ecosystem?: Ecosystem;
|
17
|
+
}): Promise<AuthStoredTokenWithCookieReturnType> {
|
18
|
+
const { auth, client, ecosystem } = args;
|
61
19
|
const loginUrl = getLoginUrl({
|
62
20
|
authOption: auth.strategy,
|
63
21
|
client,
|
64
22
|
mode: "window",
|
65
23
|
redirectUrl: auth.redirectUrl,
|
24
|
+
ecosystem,
|
66
25
|
});
|
67
26
|
|
68
27
|
const result = await WebBrowser.openAuthSessionAsync(
|
@@ -99,204 +58,17 @@ export async function authenticate(
|
|
99
58
|
return JSON.parse(authResult);
|
100
59
|
}
|
101
60
|
|
102
|
-
export async function socialLogin(
|
103
|
-
auth: OAuthRedirectObject,
|
104
|
-
client: ThirdwebClient,
|
105
|
-
): Promise<AuthStoredTokenWithCookieReturnType> {
|
106
|
-
const { storedToken } = await authenticate(auth, client);
|
107
|
-
try {
|
108
|
-
const toStoreToken: AuthStoredTokenWithCookieReturnType["storedToken"] = {
|
109
|
-
jwtToken: storedToken.jwtToken,
|
110
|
-
authDetails: storedToken.authDetails,
|
111
|
-
authProvider: storedToken.authProvider,
|
112
|
-
developerClientId: storedToken.developerClientId,
|
113
|
-
cookieString: storedToken.cookieString,
|
114
|
-
// we should always store the jwt cookie since there's no concept of cookie in react native
|
115
|
-
shouldStoreCookieString: true,
|
116
|
-
isNewUser: storedToken.isNewUser,
|
117
|
-
};
|
118
|
-
|
119
|
-
await postAuth({ storedToken: toStoreToken, client });
|
120
|
-
|
121
|
-
return { storedToken };
|
122
|
-
} catch (e) {
|
123
|
-
throw new Error(
|
124
|
-
createErrorMessage("Malformed response from post authentication", e),
|
125
|
-
);
|
126
|
-
}
|
127
|
-
}
|
128
|
-
|
129
|
-
export async function siweLogin(
|
130
|
-
client: ThirdwebClient,
|
131
|
-
wallet: Wallet,
|
132
|
-
chain: Chain,
|
133
|
-
ecosystem?: Ecosystem,
|
134
|
-
): Promise<AuthStoredTokenWithCookieReturnType> {
|
135
|
-
const { storedToken } = await siweAuthenticate({
|
136
|
-
client,
|
137
|
-
ecosystem,
|
138
|
-
wallet,
|
139
|
-
chain,
|
140
|
-
});
|
141
|
-
try {
|
142
|
-
const toStoreToken: AuthStoredTokenWithCookieReturnType["storedToken"] = {
|
143
|
-
jwtToken: storedToken.jwtToken,
|
144
|
-
authDetails: storedToken.authDetails,
|
145
|
-
authProvider: storedToken.authProvider,
|
146
|
-
developerClientId: storedToken.developerClientId,
|
147
|
-
cookieString: storedToken.cookieString,
|
148
|
-
// we should always store the jwt cookie since there's no concept of cookie in react native
|
149
|
-
shouldStoreCookieString: true,
|
150
|
-
isNewUser: storedToken.isNewUser,
|
151
|
-
};
|
152
|
-
|
153
|
-
await postAuth({ storedToken: toStoreToken, client });
|
154
|
-
|
155
|
-
return { storedToken };
|
156
|
-
} catch (e) {
|
157
|
-
throw new Error(
|
158
|
-
createErrorMessage("Malformed response from post authentication", e),
|
159
|
-
);
|
160
|
-
}
|
161
|
-
}
|
162
|
-
|
163
|
-
export async function guestLogin(
|
164
|
-
client: ThirdwebClient,
|
165
|
-
ecosystem?: Ecosystem,
|
166
|
-
): Promise<AuthStoredTokenWithCookieReturnType> {
|
167
|
-
const { storedToken } = await guestAuthenticate({
|
168
|
-
client,
|
169
|
-
ecosystem,
|
170
|
-
storage: nativeLocalStorage,
|
171
|
-
});
|
172
|
-
try {
|
173
|
-
const toStoreToken: AuthStoredTokenWithCookieReturnType["storedToken"] = {
|
174
|
-
jwtToken: storedToken.jwtToken,
|
175
|
-
authDetails: storedToken.authDetails,
|
176
|
-
authProvider: storedToken.authProvider,
|
177
|
-
developerClientId: storedToken.developerClientId,
|
178
|
-
cookieString: storedToken.cookieString,
|
179
|
-
// we should always store the jwt cookie since there's no concept of cookie in react native
|
180
|
-
shouldStoreCookieString: true,
|
181
|
-
isNewUser: storedToken.isNewUser,
|
182
|
-
};
|
183
|
-
|
184
|
-
await postAuth({ storedToken: toStoreToken, client });
|
185
|
-
|
186
|
-
return { storedToken };
|
187
|
-
} catch (e) {
|
188
|
-
throw new Error(
|
189
|
-
createErrorMessage("Malformed response from post authentication", e),
|
190
|
-
);
|
191
|
-
}
|
192
|
-
}
|
193
|
-
|
194
|
-
export async function customJwt(
|
195
|
-
authOptions: { jwt: string; password: string },
|
196
|
-
client: ThirdwebClient,
|
197
|
-
): Promise<AuthStoredTokenWithCookieReturnType> {
|
198
|
-
const { jwt, password } = authOptions;
|
199
|
-
|
200
|
-
const resp = await fetch(ROUTE_AUTH_JWT_CALLBACK, {
|
201
|
-
method: "POST",
|
202
|
-
headers: {
|
203
|
-
...getSessionHeaders(),
|
204
|
-
},
|
205
|
-
body: JSON.stringify({
|
206
|
-
jwt: jwt,
|
207
|
-
developerClientId: client.clientId,
|
208
|
-
}),
|
209
|
-
});
|
210
|
-
if (!resp.ok) {
|
211
|
-
const error = await resp.json();
|
212
|
-
throw new Error(`JWT authentication error: ${error.message}`);
|
213
|
-
}
|
214
|
-
|
215
|
-
try {
|
216
|
-
const { verifiedToken, verifiedTokenJwtString } = await resp.json();
|
217
|
-
|
218
|
-
const toStoreToken: AuthStoredTokenWithCookieReturnType["storedToken"] = {
|
219
|
-
jwtToken: verifiedToken.jwtToken,
|
220
|
-
authProvider: verifiedToken.authProvider,
|
221
|
-
authDetails: {
|
222
|
-
...verifiedToken.authDetails,
|
223
|
-
email: verifiedToken.authDetails.email,
|
224
|
-
},
|
225
|
-
developerClientId: verifiedToken.developerClientId,
|
226
|
-
cookieString: verifiedTokenJwtString,
|
227
|
-
shouldStoreCookieString: true,
|
228
|
-
isNewUser: verifiedToken.isNewUser,
|
229
|
-
};
|
230
|
-
|
231
|
-
await postAuthUserManaged(toStoreToken, client, password);
|
232
|
-
|
233
|
-
return { storedToken: verifiedToken };
|
234
|
-
} catch (e) {
|
235
|
-
throw new Error(
|
236
|
-
createErrorMessage("Malformed response from post jwt authentication", e),
|
237
|
-
);
|
238
|
-
}
|
239
|
-
}
|
240
|
-
|
241
|
-
export async function authEndpoint(
|
242
|
-
authOptions: { payload: string; encryptionKey: string },
|
243
|
-
client: ThirdwebClient,
|
244
|
-
): Promise<AuthStoredTokenWithCookieReturnType> {
|
245
|
-
const { payload, encryptionKey } = authOptions;
|
246
|
-
|
247
|
-
const resp = await fetch(ROUTE_AUTH_ENDPOINT_CALLBACK, {
|
248
|
-
method: "POST",
|
249
|
-
headers: {
|
250
|
-
...getSessionHeaders(),
|
251
|
-
},
|
252
|
-
body: JSON.stringify({
|
253
|
-
payload: payload,
|
254
|
-
developerClientId: client.clientId,
|
255
|
-
}),
|
256
|
-
});
|
257
|
-
if (!resp.ok) {
|
258
|
-
const error = await resp.json();
|
259
|
-
throw new Error(
|
260
|
-
`Custom auth endpoint authentication error: ${error.message}`,
|
261
|
-
);
|
262
|
-
}
|
263
|
-
|
264
|
-
try {
|
265
|
-
const { verifiedToken, verifiedTokenJwtString } = await resp.json();
|
266
|
-
|
267
|
-
const toStoreToken: AuthStoredTokenWithCookieReturnType["storedToken"] = {
|
268
|
-
jwtToken: verifiedToken.jwtToken,
|
269
|
-
authProvider: verifiedToken.authProvider,
|
270
|
-
authDetails: {
|
271
|
-
...verifiedToken.authDetails,
|
272
|
-
email: verifiedToken.authDetails.email,
|
273
|
-
},
|
274
|
-
developerClientId: verifiedToken.developerClientId,
|
275
|
-
cookieString: verifiedTokenJwtString,
|
276
|
-
shouldStoreCookieString: true,
|
277
|
-
isNewUser: verifiedToken.isNewUser,
|
278
|
-
};
|
279
|
-
|
280
|
-
await postAuthUserManaged(toStoreToken, client, encryptionKey);
|
281
|
-
|
282
|
-
return { storedToken: verifiedToken };
|
283
|
-
} catch (e) {
|
284
|
-
throw new Error(
|
285
|
-
createErrorMessage(
|
286
|
-
"Malformed response from post auth_endpoint authentication",
|
287
|
-
e,
|
288
|
-
),
|
289
|
-
);
|
290
|
-
}
|
291
|
-
}
|
292
|
-
|
293
61
|
export async function deleteActiveAccount(options: {
|
294
62
|
client: ThirdwebClient;
|
63
|
+
storage: ClientScopedStorage;
|
295
64
|
}): Promise<boolean> {
|
296
65
|
await verifyClientId(options.client);
|
297
66
|
|
298
67
|
try {
|
299
|
-
return deleteAccount(
|
68
|
+
return deleteAccount({
|
69
|
+
client: options.client,
|
70
|
+
storage: options.storage,
|
71
|
+
});
|
300
72
|
} catch (e) {
|
301
73
|
throw new Error(createErrorMessage("Error deleting the active account", e));
|
302
74
|
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
import type { ThirdwebClient } from "../../../client/client.js";
|
2
|
+
import type { Wallet } from "../../interfaces/wallet.js";
|
3
|
+
import type {
|
4
|
+
CreateWalletArgs,
|
5
|
+
EcosystemWalletId,
|
6
|
+
} from "../../wallet-types.js";
|
7
|
+
import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
8
|
+
|
9
|
+
/**
|
10
|
+
* Creates an [Ecosystem Wallet](https://portal.thirdweb.com/connect/ecosystems/overview) based on various authentication methods.
|
11
|
+
*
|
12
|
+
* Available authentication methods:
|
13
|
+
* - Email
|
14
|
+
* - Phone
|
15
|
+
* - Passkey
|
16
|
+
* - Google
|
17
|
+
* - Apple
|
18
|
+
* - Facebook
|
19
|
+
* - Discord
|
20
|
+
* - LINE
|
21
|
+
* - X
|
22
|
+
* - Farcaster
|
23
|
+
*
|
24
|
+
* Can also be configured to use Account Abstraction to directly connect to a ERC4337 smart account based on those authentication methods.
|
25
|
+
*
|
26
|
+
* Refer to [inAppWallet](https://portal.thirdweb.com/references/typescript/v5/inAppWallet) for detailed usage examples.
|
27
|
+
*
|
28
|
+
* @param createOptions - configuration options
|
29
|
+
* Refer to [EcosystemWalletCreationOptions](https://portal.thirdweb.com/references/typescript/v5/EcosystemWalletCreationOptions) for more details.
|
30
|
+
* @returns The created ecosystem wallet.
|
31
|
+
* @example
|
32
|
+
*
|
33
|
+
* ### Connect to an ecosystem wallet
|
34
|
+
*
|
35
|
+
* ```ts
|
36
|
+
* import { ecosystemWallet } from "thirdweb/wallets";
|
37
|
+
*
|
38
|
+
* const wallet = ecosystemWallet("ecosystem.hooli");
|
39
|
+
*
|
40
|
+
* const account = await wallet.connect({
|
41
|
+
* client,
|
42
|
+
* chain,
|
43
|
+
* strategy: "google",
|
44
|
+
* });
|
45
|
+
* ```
|
46
|
+
*
|
47
|
+
* [View all connection options](https://portal.thirdweb.com/references/typescript/v5/EcosystemWalletConnectionOptions)
|
48
|
+
*
|
49
|
+
* ### Connect to a restricted ecosystem wallet with your designated partner ID
|
50
|
+
*
|
51
|
+
* The parnter ID will be provided to you by the ecosystem with which you're integrating.
|
52
|
+
*
|
53
|
+
* ```ts
|
54
|
+
* import { ecosystemWallet } from "thirdweb/wallets";
|
55
|
+
* const wallet = ecosystemWallet("ecosystem.hooli", {
|
56
|
+
* partnerId: "..."
|
57
|
+
* });
|
58
|
+
* ```
|
59
|
+
*
|
60
|
+
* Refer to [inAppWallet](https://portal.thirdweb.com/references/typescript/v5/inAppWallet) for more usage examples.
|
61
|
+
*
|
62
|
+
* @wallet
|
63
|
+
*/
|
64
|
+
export function ecosystemWallet(
|
65
|
+
...args: CreateWalletArgs<EcosystemWalletId>
|
66
|
+
): Wallet<EcosystemWalletId> {
|
67
|
+
const [ecosystemId, createOptions] = args;
|
68
|
+
const ecosystem = {
|
69
|
+
id: ecosystemId,
|
70
|
+
partnerId: createOptions?.partnerId,
|
71
|
+
};
|
72
|
+
return createInAppWallet({
|
73
|
+
ecosystem,
|
74
|
+
createOptions: {
|
75
|
+
auth: {
|
76
|
+
...createOptions?.auth,
|
77
|
+
options: [], // controlled by ecosystem
|
78
|
+
},
|
79
|
+
},
|
80
|
+
connectorFactory: async (client: ThirdwebClient) => {
|
81
|
+
const { InAppNativeConnector } = await import("./native-connector.js");
|
82
|
+
return new InAppNativeConnector({
|
83
|
+
client,
|
84
|
+
ecosystem,
|
85
|
+
// TODO (enclave): passkeyDomain for ecosystem wallets
|
86
|
+
});
|
87
|
+
},
|
88
|
+
}) as Wallet<EcosystemWalletId>;
|
89
|
+
}
|
@@ -2,6 +2,7 @@ import type { ThirdwebClient } from "../../../../../client/client.js";
|
|
2
2
|
import type { Hex } from "../../../../../utils/encoding/hex.js";
|
3
3
|
import { getClientFetch } from "../../../../../utils/fetch.js";
|
4
4
|
import { randomBytesHex } from "../../../../../utils/random.js";
|
5
|
+
import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
|
5
6
|
import type { UserDetailsApiType } from "../../../core/authentication/types.js";
|
6
7
|
import {
|
7
8
|
ROUTE_EMBEDDED_WALLET_DETAILS,
|
@@ -10,7 +11,6 @@ import {
|
|
10
11
|
THIRDWEB_SESSION_NONCE_HEADER,
|
11
12
|
} from "../constants.js";
|
12
13
|
import { createErrorMessage } from "../errors.js";
|
13
|
-
import { getAuthTokenClient } from "../storage/local.js";
|
14
14
|
|
15
15
|
const EMBEDDED_WALLET_TOKEN_HEADER = "embedded-wallet-token";
|
16
16
|
const PAPER_CLIENT_ID_HEADER = "x-thirdweb-client-id";
|
@@ -46,13 +46,15 @@ export const verifyClientId = async (client: ThirdwebClient) => {
|
|
46
46
|
};
|
47
47
|
};
|
48
48
|
|
49
|
-
export
|
50
|
-
client: ThirdwebClient
|
51
|
-
url: string
|
52
|
-
props: Parameters<typeof fetch>[1]
|
53
|
-
|
54
|
-
|
55
|
-
|
49
|
+
export async function authFetchEmbeddedWalletUser(args: {
|
50
|
+
client: ThirdwebClient;
|
51
|
+
url: string;
|
52
|
+
props: Parameters<typeof fetch>[1];
|
53
|
+
storage: ClientScopedStorage;
|
54
|
+
retries?: number;
|
55
|
+
}): Promise<Response> {
|
56
|
+
const { client, url, props, storage, retries = 0 } = args;
|
57
|
+
const authTokenClient = await storage.getAuthCookie();
|
56
58
|
const params = { ...props };
|
57
59
|
params.headers = params?.headers
|
58
60
|
? {
|
@@ -76,20 +78,22 @@ export const authFetchEmbeddedWalletUser = async (
|
|
76
78
|
} catch (e) {
|
77
79
|
if (retries > 0) {
|
78
80
|
await new Promise((resolve) => setTimeout(resolve, 500));
|
79
|
-
return await authFetchEmbeddedWalletUser(
|
81
|
+
return await authFetchEmbeddedWalletUser({
|
80
82
|
client,
|
81
83
|
url,
|
82
|
-
params,
|
83
|
-
|
84
|
-
|
84
|
+
props: params,
|
85
|
+
storage,
|
86
|
+
retries: retries - 1,
|
87
|
+
});
|
85
88
|
}
|
86
89
|
throw e;
|
87
90
|
}
|
88
|
-
}
|
91
|
+
}
|
89
92
|
|
90
93
|
export async function fetchUserDetails(args: {
|
91
94
|
email?: string;
|
92
95
|
client: ThirdwebClient;
|
96
|
+
storage: ClientScopedStorage;
|
93
97
|
}): Promise<UserDetailsApiType> {
|
94
98
|
const url = new URL(ROUTE_EMBEDDED_WALLET_DETAILS);
|
95
99
|
if (args) {
|
@@ -97,8 +101,13 @@ export async function fetchUserDetails(args: {
|
|
97
101
|
url.searchParams.append("email", args.email ?? "none");
|
98
102
|
url.searchParams.append("clientId", args.client.clientId);
|
99
103
|
}
|
100
|
-
const resp = await authFetchEmbeddedWalletUser(
|
101
|
-
|
104
|
+
const resp = await authFetchEmbeddedWalletUser({
|
105
|
+
client: args.client,
|
106
|
+
url: url.href,
|
107
|
+
props: {
|
108
|
+
method: "GET",
|
109
|
+
},
|
110
|
+
storage: args.storage,
|
102
111
|
});
|
103
112
|
if (!resp.ok) {
|
104
113
|
const error = await resp.json();
|
@@ -115,6 +124,7 @@ export async function storeUserShares({
|
|
115
124
|
walletAddress,
|
116
125
|
maybeEncryptedRecoveryShares,
|
117
126
|
authShare,
|
127
|
+
storage,
|
118
128
|
}: {
|
119
129
|
client: ThirdwebClient;
|
120
130
|
walletAddress: string;
|
@@ -123,11 +133,12 @@ export async function storeUserShares({
|
|
123
133
|
isClientEncrypted: boolean;
|
124
134
|
}[];
|
125
135
|
authShare?: string;
|
136
|
+
storage: ClientScopedStorage;
|
126
137
|
}) {
|
127
|
-
const resp = await authFetchEmbeddedWalletUser(
|
138
|
+
const resp = await authFetchEmbeddedWalletUser({
|
128
139
|
client,
|
129
|
-
ROUTE_STORE_USER_SHARES,
|
130
|
-
{
|
140
|
+
url: ROUTE_STORE_USER_SHARES,
|
141
|
+
props: {
|
131
142
|
method: "POST",
|
132
143
|
headers: { "Content-Type": "application/json" },
|
133
144
|
body: JSON.stringify({
|
@@ -136,7 +147,8 @@ export async function storeUserShares({
|
|
136
147
|
authShare,
|
137
148
|
}),
|
138
149
|
},
|
139
|
-
|
150
|
+
storage,
|
151
|
+
});
|
140
152
|
|
141
153
|
if (!resp.ok) {
|
142
154
|
const error = await resp.json();
|
@@ -151,9 +163,18 @@ export async function storeUserShares({
|
|
151
163
|
}
|
152
164
|
}
|
153
165
|
|
154
|
-
export async function getUserShares(
|
155
|
-
|
156
|
-
|
166
|
+
export async function getUserShares(args: {
|
167
|
+
client: ThirdwebClient;
|
168
|
+
getShareUrl: URL;
|
169
|
+
storage: ClientScopedStorage;
|
170
|
+
}) {
|
171
|
+
const resp = await authFetchEmbeddedWalletUser({
|
172
|
+
client: args.client,
|
173
|
+
url: args.getShareUrl.href,
|
174
|
+
props: {
|
175
|
+
method: "GET",
|
176
|
+
},
|
177
|
+
storage: args.storage,
|
157
178
|
});
|
158
179
|
if (!resp.ok) {
|
159
180
|
const error = await resp.json();
|
@@ -179,10 +200,18 @@ export async function getUserShares(client: ThirdwebClient, getShareUrl: URL) {
|
|
179
200
|
}
|
180
201
|
}
|
181
202
|
|
182
|
-
export async function deleteAccount(
|
203
|
+
export async function deleteAccount(args: {
|
204
|
+
client: ThirdwebClient;
|
205
|
+
storage: ClientScopedStorage;
|
206
|
+
}) {
|
183
207
|
const url = new URL(ROUTE_EMBEDDED_WALLET_DETAILS);
|
184
|
-
const resp = await authFetchEmbeddedWalletUser(
|
185
|
-
|
208
|
+
const resp = await authFetchEmbeddedWalletUser({
|
209
|
+
client: args.client,
|
210
|
+
url: url.href,
|
211
|
+
props: {
|
212
|
+
method: "DELETE",
|
213
|
+
},
|
214
|
+
storage: args.storage,
|
186
215
|
});
|
187
216
|
if (!resp.ok) {
|
188
217
|
const error = await resp.json();
|
@@ -1,12 +1,13 @@
|
|
1
|
+
import type { ThirdwebClient } from "../../../../../client/client.js";
|
2
|
+
import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
|
1
3
|
import type { LogoutReturnType } from "../../../core/authentication/types.js";
|
2
|
-
import {
|
3
|
-
removeAuthTokenInClient,
|
4
|
-
removeLoggedInWalletUserId,
|
5
|
-
} from "../storage/local.js";
|
6
|
-
|
7
|
-
export async function logoutUser(clientId: string): Promise<LogoutReturnType> {
|
8
|
-
const isLoggedUserOutIncognito = await removeAuthTokenInClient(clientId);
|
9
|
-
await removeLoggedInWalletUserId(clientId);
|
4
|
+
import { removeLoggedInWalletUserId } from "../storage/local.js";
|
10
5
|
|
6
|
+
export async function logoutUser(args: {
|
7
|
+
client: ThirdwebClient;
|
8
|
+
storage: ClientScopedStorage;
|
9
|
+
}): Promise<LogoutReturnType> {
|
10
|
+
const isLoggedUserOutIncognito = await args.storage.removeAuthCookie();
|
11
|
+
await removeLoggedInWalletUserId(args.client.clientId); // TODO (enclave): move this to client scoped storage
|
11
12
|
return { success: isLoggedUserOutIncognito };
|
12
13
|
}
|