From 1ae0ba6f17c9339dfd2c59b39d75f162fd63986f Mon Sep 17 00:00:00 2001 From: Hassan Malik Date: Wed, 20 Aug 2025 09:26:31 -0400 Subject: [PATCH 1/7] feat: update provider type to include a providerType property and remove groupIndex requirement from discoverAndCreateAccounts --- packages/account-api/src/api/provider.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/account-api/src/api/provider.ts b/packages/account-api/src/api/provider.ts index 7771bf10d..793ac3974 100644 --- a/packages/account-api/src/api/provider.ts +++ b/packages/account-api/src/api/provider.ts @@ -4,6 +4,10 @@ import type { EntropySourceId, KeyringAccount } from '@metamask/keyring-api'; * An account provider is reponsible of providing accounts to an account group. */ export type AccountProvider = { + /** + * The type of the provider. + */ + providerType: string; /** * Gets an account for a given ID. * @@ -45,6 +49,5 @@ export type AccountProvider = { */ discoverAndCreateAccounts: (options: { entropySource: EntropySourceId; - groupIndex: number; }) => Promise; }; From 8e583529590b58bb4bac1aba94328ce08806a07b Mon Sep 17 00:00:00 2001 From: Hassan Malik Date: Wed, 20 Aug 2025 09:28:46 -0400 Subject: [PATCH 2/7] feat: add account provider type enum --- packages/account-api/src/api/provider.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/account-api/src/api/provider.ts b/packages/account-api/src/api/provider.ts index 793ac3974..3c86c9c1b 100644 --- a/packages/account-api/src/api/provider.ts +++ b/packages/account-api/src/api/provider.ts @@ -1,5 +1,11 @@ import type { EntropySourceId, KeyringAccount } from '@metamask/keyring-api'; +export enum AccountProviderType { + Evm = 'Evm', + Solana = 'Solana', + Btc = 'Btc', +}; + /** * An account provider is reponsible of providing accounts to an account group. */ From eff6e684ca2f1f3f4391ce7b55148dd51c06750f Mon Sep 17 00:00:00 2001 From: Hassan Malik Date: Wed, 20 Aug 2025 09:42:37 -0400 Subject: [PATCH 3/7] fix: change providerType from string to AccountProviderType --- packages/account-api/src/api/provider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/account-api/src/api/provider.ts b/packages/account-api/src/api/provider.ts index 3c86c9c1b..cb50ee105 100644 --- a/packages/account-api/src/api/provider.ts +++ b/packages/account-api/src/api/provider.ts @@ -13,7 +13,7 @@ export type AccountProvider = { /** * The type of the provider. */ - providerType: string; + providerType: AccountProviderType; /** * Gets an account for a given ID. * From 3f7ff5a378f2755bb3dbfc75a8106cb8b6e7f500 Mon Sep 17 00:00:00 2001 From: Hassan Malik Date: Wed, 20 Aug 2025 09:56:29 -0400 Subject: [PATCH 4/7] fix: lint fix --- packages/account-api/src/api/provider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/account-api/src/api/provider.ts b/packages/account-api/src/api/provider.ts index cb50ee105..66905d277 100644 --- a/packages/account-api/src/api/provider.ts +++ b/packages/account-api/src/api/provider.ts @@ -4,7 +4,7 @@ export enum AccountProviderType { Evm = 'Evm', Solana = 'Solana', Btc = 'Btc', -}; +} /** * An account provider is reponsible of providing accounts to an account group. From 57b187957f380c73a8eb0d31eba6e6179231ab1d Mon Sep 17 00:00:00 2001 From: Hassan Malik Date: Wed, 20 Aug 2025 09:57:47 -0400 Subject: [PATCH 5/7] fix: update jsdocs --- packages/account-api/src/api/provider.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/account-api/src/api/provider.ts b/packages/account-api/src/api/provider.ts index 66905d277..baa6d4033 100644 --- a/packages/account-api/src/api/provider.ts +++ b/packages/account-api/src/api/provider.ts @@ -43,14 +43,12 @@ export type AccountProvider = { }) => Promise; /** - * Discover accounts for a given entropy source and a given group - * index. + * Discover accounts for a given entropy source. * * NOTE: This method needs to also create the discovered accounts. * * @param options - Options. * @param options.entropySource - Entropy source to use. - * @param options.groupIndex - Group index to use. * @returns The list of discovered and created accounts. */ discoverAndCreateAccounts: (options: { From 9e24cea0243904604bc49b6654609f503ad30fb0 Mon Sep 17 00:00:00 2001 From: Hassan Malik Date: Wed, 20 Aug 2025 11:02:15 -0400 Subject: [PATCH 6/7] test: add test for AccountProviderType enum --- packages/account-api/src/api/provider.test.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 packages/account-api/src/api/provider.test.ts diff --git a/packages/account-api/src/api/provider.test.ts b/packages/account-api/src/api/provider.test.ts new file mode 100644 index 000000000..d55db8192 --- /dev/null +++ b/packages/account-api/src/api/provider.test.ts @@ -0,0 +1,11 @@ +import { AccountProviderType } from './provider'; + +describe('AccountProviderType', () => { + it('has expected values', () => { + expect(AccountProviderType).toEqual({ + Evm: 'Evm', + Solana: 'Solana', + Btc: 'Btc', + }); + }); +}); \ No newline at end of file From 2c749560b32927b33c7dd28269cd3ce98760e02e Mon Sep 17 00:00:00 2001 From: Hassan Malik Date: Wed, 20 Aug 2025 11:08:35 -0400 Subject: [PATCH 7/7] fix: lint fix --- packages/account-api/src/api/provider.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/account-api/src/api/provider.test.ts b/packages/account-api/src/api/provider.test.ts index d55db8192..a0424aee4 100644 --- a/packages/account-api/src/api/provider.test.ts +++ b/packages/account-api/src/api/provider.test.ts @@ -2,10 +2,10 @@ import { AccountProviderType } from './provider'; describe('AccountProviderType', () => { it('has expected values', () => { - expect(AccountProviderType).toEqual({ + expect(AccountProviderType).toStrictEqual({ Evm: 'Evm', Solana: 'Solana', Btc: 'Btc', }); }); -}); \ No newline at end of file +});