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,10 +1,11 @@
|
|
1
|
-
import type { Chain } from "../../../chains/types.js";
|
2
1
|
import type { ThirdwebClient } from "../../../client/client.js";
|
3
2
|
import { stringify } from "../../../utils/json.js";
|
4
3
|
import { nativeLocalStorage } from "../../../utils/storage/nativeStorage.js";
|
5
|
-
import type { Account
|
4
|
+
import type { Account } from "../../interfaces/wallet.js";
|
5
|
+
import { authEndpoint } from "../core/authentication/authEndpoint.js";
|
6
6
|
import { ClientScopedStorage } from "../core/authentication/client-scoped-storage.js";
|
7
7
|
import { guestAuthenticate } from "../core/authentication/guest.js";
|
8
|
+
import { customJwt } from "../core/authentication/jwt.js";
|
8
9
|
import {
|
9
10
|
getLinkedProfilesInternal,
|
10
11
|
linkAccount,
|
@@ -14,35 +15,25 @@ import {
|
|
14
15
|
registerPasskey,
|
15
16
|
} from "../core/authentication/passkeys.js";
|
16
17
|
import { siweAuthenticate } from "../core/authentication/siwe.js";
|
17
|
-
import {
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
UserWalletStatus,
|
18
|
+
import type {
|
19
|
+
AuthArgsType,
|
20
|
+
AuthLoginReturnType,
|
21
|
+
AuthStoredTokenWithCookieReturnType,
|
22
|
+
GetUser,
|
23
|
+
LogoutReturnType,
|
24
|
+
MultiStepAuthArgsType,
|
25
|
+
MultiStepAuthProviderType,
|
26
|
+
SingleStepAuthArgsType,
|
27
27
|
} from "../core/authentication/types.js";
|
28
28
|
import type { InAppConnector } from "../core/interfaces/connector.js";
|
29
|
+
import { EnclaveWallet } from "../core/wallet/enclave-wallet.js";
|
29
30
|
import type { Ecosystem } from "../core/wallet/types.js";
|
31
|
+
import type { IWebWallet } from "../core/wallet/web-wallet.js";
|
32
|
+
import { getUserStatus } from "../web/lib/actions/get-enclave-user-status.js";
|
30
33
|
import { sendOtp, verifyOtp } from "../web/lib/auth/otp.js";
|
31
|
-
import {
|
32
|
-
authEndpoint,
|
33
|
-
authenticate,
|
34
|
-
customJwt,
|
35
|
-
deleteActiveAccount,
|
36
|
-
guestLogin,
|
37
|
-
otpLogin,
|
38
|
-
siweLogin,
|
39
|
-
socialLogin,
|
40
|
-
} from "./auth/native-auth.js";
|
41
|
-
import { fetchUserDetails } from "./helpers/api/fetchers.js";
|
34
|
+
import { deleteActiveAccount, socialAuth } from "./auth/native-auth.js";
|
42
35
|
import { logoutUser } from "./helpers/auth/logout.js";
|
43
|
-
import {
|
44
|
-
import { getWalletUserDetails } from "./helpers/storage/local.js";
|
45
|
-
import { getExistingUserAccount } from "./helpers/wallet/retrieval.js";
|
36
|
+
import { ShardedWallet } from "./helpers/wallet/sharded-wallet.js";
|
46
37
|
|
47
38
|
type NativeConnectorOptions = {
|
48
39
|
client: ThirdwebClient;
|
@@ -55,6 +46,7 @@ export class InAppNativeConnector implements InAppConnector {
|
|
55
46
|
private ecosystem?: Ecosystem;
|
56
47
|
private passkeyDomain?: string;
|
57
48
|
private localStorage: ClientScopedStorage;
|
49
|
+
private wallet?: IWebWallet;
|
58
50
|
|
59
51
|
constructor(options: NativeConnectorOptions) {
|
60
52
|
this.client = options.client;
|
@@ -67,37 +59,57 @@ export class InAppNativeConnector implements InAppConnector {
|
|
67
59
|
});
|
68
60
|
}
|
69
61
|
|
70
|
-
async
|
71
|
-
const
|
72
|
-
|
62
|
+
async initializeWallet(authToken?: string) {
|
63
|
+
const storedAuthToken = await this.localStorage.getAuthCookie();
|
64
|
+
if (!authToken && storedAuthToken === null) {
|
65
|
+
throw new Error(
|
66
|
+
"No auth token provided and no stored auth token found to initialize the wallet",
|
67
|
+
);
|
68
|
+
}
|
69
|
+
const user = await getUserStatus({
|
70
|
+
authToken: authToken || (storedAuthToken as string),
|
73
71
|
client: this.client,
|
74
|
-
|
72
|
+
ecosystem: this.ecosystem,
|
75
73
|
});
|
76
|
-
if (
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
74
|
+
if (!user) {
|
75
|
+
throw new Error("Cannot initialize wallet, no user logged in");
|
76
|
+
}
|
77
|
+
const wallet = user.wallets[0];
|
78
|
+
// TODO (enclaves): Migration to enclave wallet if sharded
|
79
|
+
if (wallet && wallet.type === "enclave") {
|
80
|
+
this.wallet = new EnclaveWallet({
|
81
|
+
client: this.client,
|
82
|
+
ecosystem: this.ecosystem,
|
83
|
+
address: wallet.address,
|
84
|
+
storage: this.localStorage,
|
85
|
+
});
|
86
|
+
} else {
|
87
|
+
this.wallet = new ShardedWallet({
|
88
|
+
client: this.client,
|
89
|
+
storage: this.localStorage,
|
90
|
+
});
|
83
91
|
}
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
92
|
+
}
|
93
|
+
|
94
|
+
async getUser(): Promise<GetUser> {
|
95
|
+
if (!this.wallet) {
|
96
|
+
const localAuthToken = await this.localStorage.getAuthCookie();
|
97
|
+
if (!localAuthToken) {
|
98
|
+
return { status: "Logged Out" };
|
99
|
+
}
|
100
|
+
await this.initializeWallet(localAuthToken);
|
89
101
|
}
|
90
|
-
if (
|
91
|
-
|
92
|
-
status: UserWalletStatus.LOGGED_IN_WALLET_UNINITIALIZED,
|
93
|
-
authDetails: userStatus.storedToken.authDetails,
|
94
|
-
};
|
102
|
+
if (!this.wallet) {
|
103
|
+
throw new Error("Wallet not initialized");
|
95
104
|
}
|
96
|
-
|
97
|
-
return { status: UserWalletStatus.LOGGED_OUT };
|
105
|
+
return this.wallet.getUserWalletStatus();
|
98
106
|
}
|
107
|
+
|
99
108
|
getAccount(): Promise<Account> {
|
100
|
-
|
109
|
+
if (!this.wallet) {
|
110
|
+
throw new Error("Wallet not initialized");
|
111
|
+
}
|
112
|
+
return this.wallet.getAccount();
|
101
113
|
}
|
102
114
|
|
103
115
|
preAuthenticate(args: MultiStepAuthProviderType): Promise<void> {
|
@@ -128,6 +140,7 @@ export class InAppNativeConnector implements InAppConnector {
|
|
128
140
|
client: this.client,
|
129
141
|
wallet: params.wallet,
|
130
142
|
chain: params.chain,
|
143
|
+
ecosystem: params.ecosystem,
|
131
144
|
});
|
132
145
|
}
|
133
146
|
case "google":
|
@@ -139,95 +152,63 @@ export class InAppNativeConnector implements InAppConnector {
|
|
139
152
|
const ExpoLinking = require("expo-linking");
|
140
153
|
const redirectUrl =
|
141
154
|
params.redirectUrl || (ExpoLinking.createURL("") as string);
|
142
|
-
return
|
143
|
-
|
144
|
-
case "passkey":
|
145
|
-
return this.passkeyAuth(params);
|
146
|
-
default:
|
147
|
-
throw new Error(`Unsupported authentication type: ${strategy}`);
|
148
|
-
}
|
149
|
-
}
|
150
|
-
|
151
|
-
async connect(params: AuthArgsType): Promise<AuthLoginReturnType> {
|
152
|
-
const strategy = params.strategy;
|
153
|
-
switch (strategy) {
|
154
|
-
case "email": {
|
155
|
-
return await this.validateOtp({
|
156
|
-
email: params.email,
|
157
|
-
verificationCode: params.verificationCode,
|
158
|
-
strategy: "email",
|
155
|
+
return socialAuth({
|
156
|
+
auth: { strategy, redirectUrl },
|
159
157
|
client: this.client,
|
158
|
+
ecosystem: this.ecosystem,
|
160
159
|
});
|
161
160
|
}
|
162
|
-
case "
|
163
|
-
return
|
164
|
-
|
165
|
-
|
166
|
-
strategy: "phone",
|
167
|
-
client: this.client,
|
168
|
-
});
|
169
|
-
}
|
170
|
-
case "google":
|
171
|
-
case "facebook":
|
172
|
-
case "discord":
|
173
|
-
case "line":
|
174
|
-
case "x":
|
175
|
-
case "farcaster":
|
176
|
-
case "telegram":
|
177
|
-
case "coinbase":
|
178
|
-
case "apple": {
|
179
|
-
const ExpoLinking = require("expo-linking");
|
180
|
-
const redirectUrl =
|
181
|
-
params.redirectUrl || (ExpoLinking.createURL("") as string); // Will default to the app scheme
|
182
|
-
return this.socialLogin({
|
183
|
-
strategy,
|
184
|
-
redirectUrl,
|
185
|
-
});
|
186
|
-
}
|
187
|
-
case "guest": {
|
188
|
-
return this.guestLogin({
|
189
|
-
ecosystem: params.ecosystem,
|
190
|
-
});
|
191
|
-
}
|
192
|
-
case "wallet": {
|
193
|
-
return this.siweLogin({
|
194
|
-
wallet: params.wallet,
|
195
|
-
chain: params.chain,
|
196
|
-
});
|
197
|
-
}
|
198
|
-
case "jwt": {
|
199
|
-
return this.customJwt({
|
161
|
+
case "passkey":
|
162
|
+
return this.passkeyAuth(params);
|
163
|
+
case "jwt":
|
164
|
+
return customJwt({
|
200
165
|
jwt: params.jwt,
|
201
|
-
|
166
|
+
client: this.client,
|
167
|
+
storage: this.localStorage,
|
202
168
|
});
|
203
|
-
|
204
|
-
|
205
|
-
return this.authEndpoint({
|
169
|
+
case "auth_endpoint":
|
170
|
+
return authEndpoint({
|
206
171
|
payload: params.payload,
|
207
|
-
|
172
|
+
client: this.client,
|
173
|
+
storage: this.localStorage,
|
208
174
|
});
|
209
|
-
}
|
210
|
-
case "passkey": {
|
211
|
-
const authToken = await this.passkeyAuth(params);
|
212
|
-
const account = await this.getAccount();
|
213
|
-
return {
|
214
|
-
user: {
|
215
|
-
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
216
|
-
account,
|
217
|
-
authDetails: authToken.storedToken.authDetails,
|
218
|
-
walletAddress: account.address,
|
219
|
-
},
|
220
|
-
};
|
221
|
-
}
|
222
|
-
case "iframe": {
|
223
|
-
throw new Error("iframe_email_verification is not supported in native");
|
224
|
-
}
|
225
|
-
case "iframe_email_verification": {
|
226
|
-
throw new Error("iframe_email_verification is not supported in native");
|
227
|
-
}
|
228
175
|
default:
|
229
|
-
|
176
|
+
throw new Error(`Unsupported authentication type: ${strategy}`);
|
177
|
+
}
|
178
|
+
}
|
179
|
+
|
180
|
+
async connect(
|
181
|
+
params: MultiStepAuthArgsType | SingleStepAuthArgsType,
|
182
|
+
): Promise<AuthLoginReturnType> {
|
183
|
+
const authResult = await this.authenticate({
|
184
|
+
...params,
|
185
|
+
client: this.client,
|
186
|
+
ecosystem: this.ecosystem,
|
187
|
+
});
|
188
|
+
await this.initializeWallet(authResult.storedToken.cookieString);
|
189
|
+
if (!this.wallet) {
|
190
|
+
throw new Error("Wallet not initialized");
|
230
191
|
}
|
192
|
+
const encryptionKey =
|
193
|
+
params.strategy === "jwt"
|
194
|
+
? params.encryptionKey
|
195
|
+
: params.strategy === "auth_endpoint"
|
196
|
+
? params.encryptionKey
|
197
|
+
: undefined;
|
198
|
+
|
199
|
+
await this.wallet.postWalletSetUp({
|
200
|
+
...authResult,
|
201
|
+
encryptionKey,
|
202
|
+
});
|
203
|
+
const account = await this.getAccount();
|
204
|
+
return {
|
205
|
+
user: {
|
206
|
+
status: "Logged In, Wallet Initialized",
|
207
|
+
account,
|
208
|
+
authDetails: authResult.storedToken.authDetails,
|
209
|
+
walletAddress: account.address,
|
210
|
+
},
|
211
|
+
};
|
231
212
|
}
|
232
213
|
|
233
214
|
private async passkeyAuth(args: {
|
@@ -238,6 +219,7 @@ export class InAppNativeConnector implements InAppConnector {
|
|
238
219
|
}): Promise<AuthStoredTokenWithCookieReturnType> {
|
239
220
|
const { type, passkeyName, client, ecosystem } = args;
|
240
221
|
const domain = this.passkeyDomain;
|
222
|
+
const storage = this.localStorage;
|
241
223
|
if (!domain) {
|
242
224
|
throw new Error(
|
243
225
|
"Passkey domain is required for native platforms. Please pass it in the 'auth' options when creating the inAppWallet().",
|
@@ -246,7 +228,6 @@ export class InAppNativeConnector implements InAppConnector {
|
|
246
228
|
try {
|
247
229
|
const { PasskeyNativeClient } = await import("./auth/passkeys.js");
|
248
230
|
const passkeyClient = new PasskeyNativeClient();
|
249
|
-
const storage = nativeLocalStorage;
|
250
231
|
let authToken: AuthStoredTokenWithCookieReturnType;
|
251
232
|
|
252
233
|
if (type === "sign-up") {
|
@@ -274,19 +255,6 @@ export class InAppNativeConnector implements InAppConnector {
|
|
274
255
|
});
|
275
256
|
}
|
276
257
|
|
277
|
-
const toStoreToken: AuthStoredTokenWithCookieReturnType["storedToken"] = {
|
278
|
-
jwtToken: authToken.storedToken.jwtToken,
|
279
|
-
authDetails: authToken.storedToken.authDetails,
|
280
|
-
authProvider: authToken.storedToken.authProvider,
|
281
|
-
developerClientId: authToken.storedToken.developerClientId,
|
282
|
-
cookieString: authToken.storedToken.cookieString,
|
283
|
-
// we should always store the jwt cookie since there's no concept of cookie in react native
|
284
|
-
shouldStoreCookieString: true,
|
285
|
-
isNewUser: authToken.storedToken.isNewUser,
|
286
|
-
};
|
287
|
-
|
288
|
-
await postAuth({ storedToken: toStoreToken, client });
|
289
|
-
|
290
258
|
return authToken;
|
291
259
|
} catch (error) {
|
292
260
|
console.error(
|
@@ -299,160 +267,19 @@ export class InAppNativeConnector implements InAppConnector {
|
|
299
267
|
}
|
300
268
|
}
|
301
269
|
|
302
|
-
private async validateOtp(
|
303
|
-
options: MultiStepAuthArgsType & {
|
304
|
-
client: ThirdwebClient;
|
305
|
-
ecosystem?: Ecosystem;
|
306
|
-
},
|
307
|
-
): Promise<AuthLoginReturnType> {
|
308
|
-
try {
|
309
|
-
const { storedToken } = await otpLogin(options);
|
310
|
-
const account = await this.getAccount();
|
311
|
-
return {
|
312
|
-
user: {
|
313
|
-
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
314
|
-
account,
|
315
|
-
authDetails: storedToken.authDetails,
|
316
|
-
walletAddress: account.address,
|
317
|
-
},
|
318
|
-
};
|
319
|
-
} catch (error) {
|
320
|
-
console.error(`Error while validating OTP: ${error}`);
|
321
|
-
if (error instanceof Error) {
|
322
|
-
throw new Error(`Error while validating otp: ${error.message}`);
|
323
|
-
}
|
324
|
-
throw new Error("An unknown error occurred while validating otp");
|
325
|
-
}
|
326
|
-
}
|
327
|
-
|
328
270
|
// TODO (rn) expose in the interface
|
329
271
|
async deleteActiveAccount() {
|
330
|
-
return deleteActiveAccount({
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
auth: OAuthRedirectObject,
|
335
|
-
): Promise<AuthLoginReturnType> {
|
336
|
-
try {
|
337
|
-
const { storedToken } = await socialLogin(auth, this.client);
|
338
|
-
const account = await this.getAccount();
|
339
|
-
return {
|
340
|
-
user: {
|
341
|
-
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
342
|
-
account,
|
343
|
-
authDetails: storedToken.authDetails,
|
344
|
-
walletAddress: account.address,
|
345
|
-
},
|
346
|
-
};
|
347
|
-
} catch (error) {
|
348
|
-
console.error(`Error while signing in with: ${auth}. ${error}`);
|
349
|
-
if (error instanceof Error) {
|
350
|
-
throw new Error(`Error signing in with ${auth}: ${error.message}`);
|
351
|
-
}
|
352
|
-
throw new Error(`An unknown error occurred signing in with ${auth}`);
|
353
|
-
}
|
354
|
-
}
|
355
|
-
|
356
|
-
private async siweLogin(options: {
|
357
|
-
wallet: Wallet;
|
358
|
-
chain: Chain;
|
359
|
-
}): Promise<AuthLoginReturnType> {
|
360
|
-
try {
|
361
|
-
const { storedToken } = await siweLogin(
|
362
|
-
this.client,
|
363
|
-
options.wallet,
|
364
|
-
options.chain,
|
365
|
-
);
|
366
|
-
const account = await this.getAccount();
|
367
|
-
return {
|
368
|
-
user: {
|
369
|
-
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
370
|
-
account,
|
371
|
-
authDetails: storedToken.authDetails,
|
372
|
-
walletAddress: account.address,
|
373
|
-
},
|
374
|
-
};
|
375
|
-
} catch (error) {
|
376
|
-
console.error(
|
377
|
-
`Error while signing in with: ${options.wallet.id}. ${error}`,
|
378
|
-
);
|
379
|
-
if (error instanceof Error) {
|
380
|
-
throw new Error(
|
381
|
-
`Error signing in with ${options.wallet.id}: ${error.message}`,
|
382
|
-
);
|
383
|
-
}
|
384
|
-
throw new Error(
|
385
|
-
`An unknown error occurred signing in with ${options.wallet.id}`,
|
386
|
-
);
|
387
|
-
}
|
388
|
-
}
|
389
|
-
|
390
|
-
private async guestLogin(options: {
|
391
|
-
ecosystem?: Ecosystem;
|
392
|
-
}): Promise<AuthLoginReturnType> {
|
393
|
-
try {
|
394
|
-
const { storedToken } = await guestLogin(this.client, options.ecosystem);
|
395
|
-
const account = await this.getAccount();
|
396
|
-
return {
|
397
|
-
user: {
|
398
|
-
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
399
|
-
account,
|
400
|
-
authDetails: storedToken.authDetails,
|
401
|
-
walletAddress: account.address,
|
402
|
-
},
|
403
|
-
};
|
404
|
-
} catch (error) {
|
405
|
-
if (error instanceof Error) {
|
406
|
-
throw new Error(`Error generating guest account: ${error.message}`);
|
407
|
-
}
|
408
|
-
throw new Error("An unknown error occurred generating guest account");
|
409
|
-
}
|
410
|
-
}
|
411
|
-
|
412
|
-
private async customJwt(authOptions: {
|
413
|
-
jwt: string;
|
414
|
-
password: string;
|
415
|
-
}): Promise<AuthLoginReturnType> {
|
416
|
-
try {
|
417
|
-
const { storedToken } = await customJwt(authOptions, this.client);
|
418
|
-
const account = await this.getAccount();
|
419
|
-
return {
|
420
|
-
user: {
|
421
|
-
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
422
|
-
account,
|
423
|
-
authDetails: storedToken.authDetails,
|
424
|
-
walletAddress: account.address,
|
425
|
-
},
|
426
|
-
};
|
427
|
-
} catch (error) {
|
428
|
-
console.error(`Error while verifying auth: ${error}`);
|
429
|
-
throw error;
|
430
|
-
}
|
431
|
-
}
|
432
|
-
|
433
|
-
private async authEndpoint(authOptions: {
|
434
|
-
payload: string;
|
435
|
-
encryptionKey: string;
|
436
|
-
}): Promise<AuthLoginReturnType> {
|
437
|
-
try {
|
438
|
-
const { storedToken } = await authEndpoint(authOptions, this.client);
|
439
|
-
const account = await this.getAccount();
|
440
|
-
return {
|
441
|
-
user: {
|
442
|
-
status: UserWalletStatus.LOGGED_IN_WALLET_INITIALIZED,
|
443
|
-
account,
|
444
|
-
authDetails: storedToken.authDetails,
|
445
|
-
walletAddress: account.address,
|
446
|
-
},
|
447
|
-
};
|
448
|
-
} catch (error) {
|
449
|
-
console.error(`Error while verifying auth_endpoint auth: ${error}`);
|
450
|
-
throw error;
|
451
|
-
}
|
272
|
+
return deleteActiveAccount({
|
273
|
+
client: this.client,
|
274
|
+
storage: this.localStorage,
|
275
|
+
});
|
452
276
|
}
|
453
277
|
|
454
278
|
logout(): Promise<LogoutReturnType> {
|
455
|
-
return logoutUser(
|
279
|
+
return logoutUser({
|
280
|
+
client: this.client,
|
281
|
+
storage: this.localStorage,
|
282
|
+
});
|
456
283
|
}
|
457
284
|
|
458
285
|
async linkProfile(args: AuthArgsType) {
|
@@ -472,7 +299,3 @@ export class InAppNativeConnector implements InAppConnector {
|
|
472
299
|
});
|
473
300
|
}
|
474
301
|
}
|
475
|
-
|
476
|
-
function assertUnreachable(x: never): never {
|
477
|
-
throw new Error(`Invalid param: ${x}`);
|
478
|
-
}
|
@@ -4,7 +4,7 @@ import type {
|
|
4
4
|
CreateWalletArgs,
|
5
5
|
EcosystemWalletId,
|
6
6
|
} from "../../wallet-types.js";
|
7
|
-
import {
|
7
|
+
import { createInAppWallet } from "../core/wallet/in-app-core.js";
|
8
8
|
|
9
9
|
/**
|
10
10
|
* Creates an [Ecosystem Wallet](https://portal.thirdweb.com/connect/ecosystems/overview) based on various authentication methods.
|
@@ -65,18 +65,24 @@ export function ecosystemWallet(
|
|
65
65
|
...args: CreateWalletArgs<EcosystemWalletId>
|
66
66
|
): Wallet<EcosystemWalletId> {
|
67
67
|
const [ecosystemId, createOptions] = args;
|
68
|
-
|
68
|
+
const ecosystem = {
|
69
69
|
id: ecosystemId,
|
70
|
-
createOptions,
|
70
|
+
partnerId: createOptions?.partnerId,
|
71
|
+
};
|
72
|
+
return createInAppWallet({
|
73
|
+
ecosystem,
|
74
|
+
createOptions: {
|
75
|
+
auth: {
|
76
|
+
...createOptions?.auth,
|
77
|
+
options: [], // controlled by ecosystem
|
78
|
+
},
|
79
|
+
},
|
71
80
|
connectorFactory: async (client: ThirdwebClient) => {
|
72
81
|
const { InAppWebConnector } = await import("./lib/web-connector.js");
|
73
82
|
return new InAppWebConnector({
|
74
83
|
client,
|
75
|
-
ecosystem
|
76
|
-
id: ecosystemId,
|
77
|
-
partnerId: createOptions?.partnerId,
|
78
|
-
},
|
84
|
+
ecosystem,
|
79
85
|
});
|
80
86
|
},
|
81
|
-
})
|
87
|
+
}) as Wallet<EcosystemWalletId>;
|
82
88
|
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import type { ThirdwebClient } from "../../../../../client/client.js";
|
2
2
|
import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
|
3
3
|
import { getClientFetch } from "../../../../../utils/fetch.js";
|
4
|
+
import type { UserStatus } from "../../../core/wallet/enclave-wallet.js";
|
4
5
|
import type { Ecosystem } from "../../../core/wallet/types.js";
|
5
|
-
import type { UserStatus } from "../../lib/enclave-wallet.js";
|
6
6
|
|
7
7
|
/**
|
8
8
|
* Gets the user's status from the backend.
|
@@ -32,11 +32,13 @@ export async function getUserStatus({
|
|
32
32
|
);
|
33
33
|
|
34
34
|
if (!response.ok) {
|
35
|
+
console.log("response", response.status);
|
35
36
|
if (response.status === 401) {
|
36
37
|
// 401 response indicates there is no user logged in, so we return undefined
|
37
38
|
return undefined;
|
38
39
|
}
|
39
40
|
const result = await response.json();
|
41
|
+
console.log("result", result);
|
40
42
|
throw new Error(`Failed to get user status: ${result.error}`);
|
41
43
|
}
|
42
44
|
|
@@ -2,13 +2,14 @@ import type { ThirdwebClient } from "../../../../../client/client.js";
|
|
2
2
|
import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
|
3
3
|
import { getClientFetch } from "../../../../../utils/fetch.js";
|
4
4
|
import { stringify } from "../../../../../utils/json.js";
|
5
|
+
import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
|
5
6
|
import type { Ecosystem } from "../../../core/wallet/types.js";
|
6
|
-
import { getAuthToken } from "../get-auth-token.js";
|
7
7
|
|
8
8
|
export async function signMessage({
|
9
9
|
client,
|
10
10
|
ecosystem,
|
11
11
|
payload: { message, isRaw },
|
12
|
+
storage,
|
12
13
|
}: {
|
13
14
|
client: ThirdwebClient;
|
14
15
|
ecosystem?: Ecosystem;
|
@@ -16,9 +17,10 @@ export async function signMessage({
|
|
16
17
|
message: string;
|
17
18
|
isRaw: boolean;
|
18
19
|
};
|
20
|
+
storage: ClientScopedStorage;
|
19
21
|
}) {
|
20
22
|
const clientFetch = getClientFetch(client, ecosystem);
|
21
|
-
const authToken = await
|
23
|
+
const authToken = await storage.getAuthCookie();
|
22
24
|
|
23
25
|
const response = await clientFetch(
|
24
26
|
`${getThirdwebBaseUrl("inAppWallet")}/api/v1/enclave-wallet/sign-message`,
|
@@ -3,21 +3,23 @@ import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
|
|
3
3
|
import type { Hex } from "../../../../../utils/encoding/hex.js";
|
4
4
|
import { getClientFetch } from "../../../../../utils/fetch.js";
|
5
5
|
import { stringify } from "../../../../../utils/json.js";
|
6
|
+
import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
|
6
7
|
import type { Ecosystem } from "../../../core/wallet/types.js";
|
7
|
-
import { getAuthToken } from "../get-auth-token.js";
|
8
8
|
|
9
9
|
export async function signTransaction({
|
10
10
|
client,
|
11
11
|
ecosystem,
|
12
12
|
payload,
|
13
|
+
storage,
|
13
14
|
}: {
|
14
15
|
client: ThirdwebClient;
|
15
16
|
ecosystem?: Ecosystem;
|
16
17
|
payload: Record<string, Hex | number | undefined>;
|
18
|
+
storage: ClientScopedStorage;
|
17
19
|
}) {
|
18
20
|
console.log("payload", payload);
|
19
21
|
const clientFetch = getClientFetch(client, ecosystem);
|
20
|
-
const authToken = await
|
22
|
+
const authToken = await storage.getAuthCookie();
|
21
23
|
|
22
24
|
const response = await clientFetch(
|
23
25
|
`${getThirdwebBaseUrl("inAppWallet")}/api/v1/enclave-wallet/sign-transaction`,
|
@@ -4,8 +4,8 @@ import type { ThirdwebClient } from "../../../../../client/client.js";
|
|
4
4
|
import { getThirdwebBaseUrl } from "../../../../../utils/domains.js";
|
5
5
|
import { getClientFetch } from "../../../../../utils/fetch.js";
|
6
6
|
import { stringify } from "../../../../../utils/json.js";
|
7
|
+
import type { ClientScopedStorage } from "../../../core/authentication/client-scoped-storage.js";
|
7
8
|
import type { Ecosystem } from "../../../core/wallet/types.js";
|
8
|
-
import { getAuthToken } from "../get-auth-token.js";
|
9
9
|
|
10
10
|
export async function signTypedData<
|
11
11
|
const typedData extends TypedData | Record<string, unknown>,
|
@@ -14,13 +14,15 @@ export async function signTypedData<
|
|
14
14
|
client,
|
15
15
|
ecosystem,
|
16
16
|
payload,
|
17
|
+
storage,
|
17
18
|
}: {
|
18
19
|
client: ThirdwebClient;
|
19
20
|
ecosystem?: Ecosystem;
|
20
21
|
payload: TypedDataDefinition<typedData, primaryType>;
|
22
|
+
storage: ClientScopedStorage;
|
21
23
|
}) {
|
22
24
|
const clientFetch = getClientFetch(client, ecosystem);
|
23
|
-
const authToken = await
|
25
|
+
const authToken = await storage.getAuthCookie();
|
24
26
|
|
25
27
|
const response = await clientFetch(
|
26
28
|
`${getThirdwebBaseUrl("inAppWallet")}/api/v1/enclave-wallet/sign-typed-data`,
|