From d6cdaff0b5373946b60a56a80210450da0f2cc00 Mon Sep 17 00:00:00 2001 From: Josh Scanlan <75971516+joshuascan@users.noreply.github.com> Date: Mon, 31 Jul 2023 13:04:56 -0700 Subject: [PATCH 1/4] adds email to DeepLinkPage enum --- packages/@magic-sdk/types/src/core/deep-link-pages.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/@magic-sdk/types/src/core/deep-link-pages.ts b/packages/@magic-sdk/types/src/core/deep-link-pages.ts index da5de0103..75639282f 100644 --- a/packages/@magic-sdk/types/src/core/deep-link-pages.ts +++ b/packages/@magic-sdk/types/src/core/deep-link-pages.ts @@ -1,4 +1,5 @@ export enum DeepLinkPage { + Email = 'email', MFA = 'mfa', Recovery = 'recovery', } From 84d284b49f44a8925470223f50a834651a3ccac4 Mon Sep 17 00:00:00 2001 From: Josh Scanlan <75971516+joshuascan@users.noreply.github.com> Date: Mon, 31 Jul 2023 14:45:28 -0700 Subject: [PATCH 2/4] updates yarn.lock --- yarn.lock | 96 +++++++++++++++++++++++++++---------------------------- 1 file changed, 48 insertions(+), 48 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1ee922691..ae1067e13 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2817,7 +2817,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/algorand@workspace:packages/@magic-ext/algorand" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2826,8 +2826,8 @@ __metadata: resolution: "@magic-ext/aptos@workspace:packages/@magic-ext/aptos" dependencies: "@aptos-labs/wallet-adapter-core": ^2.2.0 - "@magic-sdk/commons": ^14.6.0 - "@magic-sdk/provider": ^18.6.0 + "@magic-sdk/commons": ^15.0.0 + "@magic-sdk/provider": ^19.0.0 aptos: ^1.8.5 peerDependencies: "@aptos-labs/wallet-adapter-core": ^2.2.0 @@ -2839,7 +2839,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/auth@workspace:packages/@magic-ext/auth" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2847,7 +2847,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/avalanche@workspace:packages/@magic-ext/avalanche" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2855,7 +2855,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/bitcoin@workspace:packages/@magic-ext/bitcoin" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2863,7 +2863,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/conflux@workspace:packages/@magic-ext/conflux" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2871,7 +2871,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/cosmos@workspace:packages/@magic-ext/cosmos" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2879,7 +2879,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/ed25519@workspace:packages/@magic-ext/ed25519" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2887,7 +2887,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/flow@workspace:packages/@magic-ext/flow" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 "@onflow/fcl": ^1.4.1 "@onflow/types": ^1.1.0 peerDependencies: @@ -2900,8 +2900,8 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/gdkms@workspace:packages/@magic-ext/gdkms" dependencies: - "@magic-sdk/commons": ^14.6.0 - "@magic-sdk/types": ^15.8.0 + "@magic-sdk/commons": ^15.0.0 + "@magic-sdk/types": ^16.0.0 "@peculiar/webcrypto": ^1.4.3 languageName: unknown linkType: soft @@ -2910,7 +2910,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/harmony@workspace:packages/@magic-ext/harmony" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2918,7 +2918,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/icon@workspace:packages/@magic-ext/icon" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2926,18 +2926,18 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/near@workspace:packages/@magic-ext/near" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft -"@magic-ext/oauth@^12.6.0, @magic-ext/oauth@workspace:packages/@magic-ext/oauth": +"@magic-ext/oauth@^13.0.0, @magic-ext/oauth@workspace:packages/@magic-ext/oauth": version: 0.0.0-use.local resolution: "@magic-ext/oauth@workspace:packages/@magic-ext/oauth" dependencies: - "@magic-sdk/types": ^15.8.0 + "@magic-sdk/types": ^16.0.0 "@types/crypto-js": ~3.1.47 crypto-js: ^3.3.0 - magic-sdk: ^18.6.0 + magic-sdk: ^19.0.0 languageName: unknown linkType: soft @@ -2945,7 +2945,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/oidc@workspace:packages/@magic-ext/oidc" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2953,7 +2953,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/polkadot@workspace:packages/@magic-ext/polkadot" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -2961,7 +2961,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/react-native-bare-oauth@workspace:packages/@magic-ext/react-native-bare-oauth" dependencies: - "@magic-sdk/react-native-bare": ^19.6.0 + "@magic-sdk/react-native-bare": ^20.0.0 "@magic-sdk/types": ^10.0.1 "@types/crypto-js": ~3.1.47 crypto-js: ^3.3.0 @@ -2977,7 +2977,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/react-native-expo-oauth@workspace:packages/@magic-ext/react-native-expo-oauth" dependencies: - "@magic-sdk/react-native-expo": ^19.6.0 + "@magic-sdk/react-native-expo": ^20.0.0 "@magic-sdk/types": ^10.0.0 "@types/crypto-js": ~3.1.47 crypto-js: ^3.3.0 @@ -2992,7 +2992,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/solana@workspace:packages/@magic-ext/solana" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -3000,7 +3000,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/taquito@workspace:packages/@magic-ext/taquito" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -3008,7 +3008,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/terra@workspace:packages/@magic-ext/terra" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -3016,7 +3016,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/tezos@workspace:packages/@magic-ext/tezos" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -3024,7 +3024,7 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/webauthn@workspace:packages/@magic-ext/webauthn" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft @@ -3032,16 +3032,16 @@ __metadata: version: 0.0.0-use.local resolution: "@magic-ext/zilliqa@workspace:packages/@magic-ext/zilliqa" dependencies: - "@magic-sdk/commons": ^14.6.0 + "@magic-sdk/commons": ^15.0.0 languageName: unknown linkType: soft -"@magic-sdk/commons@^14.6.0, @magic-sdk/commons@workspace:packages/@magic-sdk/commons": +"@magic-sdk/commons@^15.0.0, @magic-sdk/commons@workspace:packages/@magic-sdk/commons": version: 0.0.0-use.local resolution: "@magic-sdk/commons@workspace:packages/@magic-sdk/commons" dependencies: - "@magic-sdk/provider": ^18.6.0 - "@magic-sdk/types": ^15.8.0 + "@magic-sdk/provider": ^19.0.0 + "@magic-sdk/types": ^16.0.0 peerDependencies: "@magic-sdk/provider": ">=18.6.0" "@magic-sdk/types": ">=15.8.0" @@ -3055,17 +3055,17 @@ __metadata: "@babel/core": ^7.9.6 "@babel/plugin-proposal-optional-chaining": ^7.9.0 "@babel/runtime": ^7.9.6 - "@magic-ext/oauth": ^12.6.0 - magic-sdk: ^18.6.0 + "@magic-ext/oauth": ^13.0.0 + magic-sdk: ^19.0.0 languageName: unknown linkType: soft -"@magic-sdk/provider@^18.6.0, @magic-sdk/provider@workspace:packages/@magic-sdk/provider": +"@magic-sdk/provider@^19.0.0, @magic-sdk/provider@workspace:packages/@magic-sdk/provider": version: 0.0.0-use.local resolution: "@magic-sdk/provider@workspace:packages/@magic-sdk/provider" dependencies: "@babel/plugin-transform-modules-commonjs": ^7.9.6 - "@magic-sdk/types": ^15.8.0 + "@magic-sdk/types": ^16.0.0 "@peculiar/webcrypto": ^1.1.7 eventemitter3: ^4.0.4 localforage: ^1.7.4 @@ -3077,7 +3077,7 @@ __metadata: languageName: unknown linkType: soft -"@magic-sdk/react-native-bare@^19.6.0, @magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare": +"@magic-sdk/react-native-bare@^20.0.0, @magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare": version: 0.0.0-use.local resolution: "@magic-sdk/react-native-bare@workspace:packages/@magic-sdk/react-native-bare" dependencies: @@ -3085,9 +3085,9 @@ __metadata: "@babel/core": ^7.15.0 "@babel/plugin-transform-flow-strip-types": ^7.14.5 "@babel/runtime": ~7.10.4 - "@magic-sdk/commons": ^14.6.0 - "@magic-sdk/provider": ^18.6.0 - "@magic-sdk/types": ^15.8.0 + "@magic-sdk/commons": ^15.0.0 + "@magic-sdk/provider": ^19.0.0 + "@magic-sdk/types": ^16.0.0 "@react-native-async-storage/async-storage": ^1.15.5 "@types/lodash": ^4.14.158 buffer: ~5.6.0 @@ -3113,7 +3113,7 @@ __metadata: languageName: unknown linkType: soft -"@magic-sdk/react-native-expo@^19.6.0, @magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo": +"@magic-sdk/react-native-expo@^20.0.0, @magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo": version: 0.0.0-use.local resolution: "@magic-sdk/react-native-expo@workspace:packages/@magic-sdk/react-native-expo" dependencies: @@ -3121,9 +3121,9 @@ __metadata: "@babel/core": ^7.15.0 "@babel/plugin-transform-flow-strip-types": ^7.14.5 "@babel/runtime": ~7.10.4 - "@magic-sdk/commons": ^14.6.0 - "@magic-sdk/provider": ^18.6.0 - "@magic-sdk/types": ^15.8.0 + "@magic-sdk/commons": ^15.0.0 + "@magic-sdk/provider": ^19.0.0 + "@magic-sdk/types": ^16.0.0 "@react-native-async-storage/async-storage": ^1.15.5 "@types/lodash": ^4.14.158 buffer: ~5.6.0 @@ -3149,7 +3149,7 @@ __metadata: languageName: unknown linkType: soft -"@magic-sdk/types@^15.8.0, @magic-sdk/types@workspace:packages/@magic-sdk/types": +"@magic-sdk/types@^16.0.0, @magic-sdk/types@workspace:packages/@magic-sdk/types": version: 0.0.0-use.local resolution: "@magic-sdk/types@workspace:packages/@magic-sdk/types" languageName: unknown @@ -12801,16 +12801,16 @@ fsevents@^2.3.2: languageName: unknown linkType: soft -"magic-sdk@^18.6.0, magic-sdk@workspace:packages/magic-sdk": +"magic-sdk@^19.0.0, magic-sdk@workspace:packages/magic-sdk": version: 0.0.0-use.local resolution: "magic-sdk@workspace:packages/magic-sdk" dependencies: "@babel/core": ^7.9.6 "@babel/plugin-proposal-optional-chaining": ^7.9.0 "@babel/runtime": ^7.9.6 - "@magic-sdk/commons": ^14.6.0 - "@magic-sdk/provider": ^18.6.0 - "@magic-sdk/types": ^15.8.0 + "@magic-sdk/commons": ^15.0.0 + "@magic-sdk/provider": ^19.0.0 + "@magic-sdk/types": ^16.0.0 localforage: ^1.7.4 localforage-driver-memory: ^1.0.5 languageName: unknown From 180b3022bf804e058bb6957c334bc0a7989a4d1f Mon Sep 17 00:00:00 2001 From: Josh Scanlan <75971516+joshuascan@users.noreply.github.com> Date: Mon, 31 Jul 2023 14:55:00 -0700 Subject: [PATCH 3/4] adds tests for auth settings and deeplinks --- .../spec/modules/user/showSettings.spec.ts | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/@magic-sdk/provider/test/spec/modules/user/showSettings.spec.ts b/packages/@magic-sdk/provider/test/spec/modules/user/showSettings.spec.ts index f541b2d62..6fcc8c741 100644 --- a/packages/@magic-sdk/provider/test/spec/modules/user/showSettings.spec.ts +++ b/packages/@magic-sdk/provider/test/spec/modules/user/showSettings.spec.ts @@ -29,7 +29,18 @@ test('If `testMode` is enabled, testing-specific RPC method is used', async () = expect(requestPayload.params).toEqual([undefined]); }); -test('Generate JSON RPC request payload with method `magic_auth_settings`', async () => { +test('Generate JSON RPC request payload with method `magic_auth_settings` and page params `email`', async () => { + const magic = createMagicSDK(); + magic.user.request = jest.fn(); + + magic.user.showSettings({ page: DeepLinkPage.Email }); + + const requestPayload = magic.user.request.mock.calls[0][0]; + expect(requestPayload.method).toBe('magic_auth_settings'); + expect(requestPayload.params).toEqual([{ page: 'email' }]); +}); + +test('Generate JSON RPC request payload with method `magic_auth_settings` and page params `mfa`', async () => { const magic = createMagicSDK(); magic.user.request = jest.fn(); @@ -40,6 +51,17 @@ test('Generate JSON RPC request payload with method `magic_auth_settings`', asyn expect(requestPayload.params).toEqual([{ page: 'mfa' }]); }); +test('Generate JSON RPC request payload with method `magic_auth_settings` and page params `recovery`', async () => { + const magic = createMagicSDK(); + magic.user.request = jest.fn(); + + magic.user.showSettings({ page: DeepLinkPage.Recovery }); + + const requestPayload = magic.user.request.mock.calls[0][0]; + expect(requestPayload.method).toBe('magic_auth_settings'); + expect(requestPayload.params).toEqual([{ page: 'recovery' }]); +}); + test('method should return a PromiEvent', () => { const magic = createMagicSDK(); expect(isPromiEvent(magic.user.showSettings())).toBeTruthy(); From c7f230e9c8ae95f15f31de7511c5742269986680 Mon Sep 17 00:00:00 2001 From: Josh Scanlan <75971516+joshuascan@users.noreply.github.com> Date: Mon, 31 Jul 2023 15:14:23 -0700 Subject: [PATCH 4/4] changes naming for update email flow --- .../provider/test/spec/modules/user/showSettings.spec.ts | 6 +++--- packages/@magic-sdk/types/src/core/deep-link-pages.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/@magic-sdk/provider/test/spec/modules/user/showSettings.spec.ts b/packages/@magic-sdk/provider/test/spec/modules/user/showSettings.spec.ts index 6fcc8c741..87f5e9b9b 100644 --- a/packages/@magic-sdk/provider/test/spec/modules/user/showSettings.spec.ts +++ b/packages/@magic-sdk/provider/test/spec/modules/user/showSettings.spec.ts @@ -29,15 +29,15 @@ test('If `testMode` is enabled, testing-specific RPC method is used', async () = expect(requestPayload.params).toEqual([undefined]); }); -test('Generate JSON RPC request payload with method `magic_auth_settings` and page params `email`', async () => { +test('Generate JSON RPC request payload with method `magic_auth_settings` and page params `update-email`', async () => { const magic = createMagicSDK(); magic.user.request = jest.fn(); - magic.user.showSettings({ page: DeepLinkPage.Email }); + magic.user.showSettings({ page: DeepLinkPage.UpdateEmail }); const requestPayload = magic.user.request.mock.calls[0][0]; expect(requestPayload.method).toBe('magic_auth_settings'); - expect(requestPayload.params).toEqual([{ page: 'email' }]); + expect(requestPayload.params).toEqual([{ page: 'update-email' }]); }); test('Generate JSON RPC request payload with method `magic_auth_settings` and page params `mfa`', async () => { diff --git a/packages/@magic-sdk/types/src/core/deep-link-pages.ts b/packages/@magic-sdk/types/src/core/deep-link-pages.ts index 75639282f..015a4d0a2 100644 --- a/packages/@magic-sdk/types/src/core/deep-link-pages.ts +++ b/packages/@magic-sdk/types/src/core/deep-link-pages.ts @@ -1,5 +1,5 @@ export enum DeepLinkPage { - Email = 'email', + UpdateEmail = 'update-email', MFA = 'mfa', Recovery = 'recovery', }