From 734aa3a2f9f7dd1bd2e9361c7b5f98f517752789 Mon Sep 17 00:00:00 2001 From: Jordan Ribbink Date: Wed, 15 May 2024 15:46:25 -0700 Subject: [PATCH 1/4] Add 20240515-fcl-service-provider-1-1-0.md --- .../20240515-fcl-service-provider-1-1-0.md | 94 +++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 application/20240515-fcl-service-provider-1-1-0.md diff --git a/application/20240515-fcl-service-provider-1-1-0.md b/application/20240515-fcl-service-provider-1-1-0.md new file mode 100644 index 00000000..1fa88dbc --- /dev/null +++ b/application/20240515-fcl-service-provider-1-1-0.md @@ -0,0 +1,94 @@ +--- +status: draft +flip: 270 +authors: Jordan Ribbink (jordan.ribbink@flowfoundation.com) +sponsor: Jordan Ribbink (jordan.ribbink@flowfoundation.com) +updated: 2023-05-15 +--- + +# FLIP 270: FCL `ServiceProvider` v1.1.0 + +## Objective + +The objective of this FLIP is to introduce a new optional metadata field into the FCL `ServiceProvider` data structure to allow for more descriptive wallet provider identification, and ultimately empowering FCL clients to offer more complete user experiences. In particular, this proposal aims to enahance FCL's integration with WalletConnect-compatible wallets by including identifying information in the `ServiceProvider` data structure. + +## Motivation + +In recent years, WalletConnect has become an integral part of not only the Flow wallet ecosystem but also the broader Web3 ecosystem. Especially in the context of mobile wallets, WalletConnect significantly reduces the infrastructure requirements for wallet providers to offer a secure and user-friendly experience. + +The current integration with WalletConnect in the FCL protocol is less streamlined than others seen throughout Web3 (e.g., Web3Modal). Specifically, `WC/RPC` authentication do not identify which WalletConnect-compatible wallet it is that they correspond to. In practice, this creates an unnecessary hurdle where users must complete WalletConnect's wallet selection process, in addition to already selecting a particular wallet provider in FCL Discovery. + +## User Benefit + +Users will tangibly benefit from the streamlined UI enabled by this proposal. WalletConnect-compatible wallets (e.g. Flow Wallet) are at the forefront of Flow's self-custodial ecosystem, and this proposal will allow users to more easily interact with their preferred FCL wallet provider. + +## Design Proposal + +This proposal adds an optional field to the `ServiceProvider` data structure, adding a new optional field `walletConnectId`. This should be a string equivalent to the 32-byte hex-identifier used by WalletConnect to identify wallets. + +The new `ServiceProvider` data structure will look as follows: + +```typescript +interface ServiceProvider { + f_vsn: "1.1.0" + f_type: "ServiceProvider" + address: string + name?: string + description?: string + icon?: string + website?: string + supportUrl?: string + supportEmail?: string + walletConnectId?: string // NEW FIELD +} +``` + +### Drawbacks + +Minimal drawbacks are expected from this proposal. The `ServiceProvider` change is non-breaking, so it will not impact existing FCL clients. + +Possible hesitations for including this change could be complicating the `ServiceProvider` data structure, or unnecessary coupling with WalletConnect within the FCL protocol. However, given the minimal and optional nature of this change, these drawbacks are expected to be negligible. + +### Alternatives Considered + +Do not make this change and do not link FCL authentication services to their accompanying WalletConnect identifiers. This would maintain the status quo, but would not offer the user experience benefits of this proposal. + +### Performance Implications + +N/A + +### Dependencies + +This + +### Engineering Impact + +Negligible impact, optional inclusion for FCL service providers & optional consumption for FCL clients. + +### Best Practices + +N/A + +### Tutorials and Examples + +N/A + +### Compatibility + +Non-breaking + +### User Impact + +No action required for end users. Application developers will need to update to the latest version of FCL-WC to realize these benefits. + +## Related Issues + +N/A + +## Prior Art + +[Web3Modal](https://web3modal.com/) - once a user selects a wallet, they a brought to a connection view specific to the wallet they have chosen and do not need to re-select their wallet. + +## Questions and Discussion + +Discussion can take place on this FLIP's pull request. \ No newline at end of file From c2e32d678604eccde55109fc927b3148bd500559 Mon Sep 17 00:00:00 2001 From: Jordan Ribbink Date: Mon, 20 May 2024 09:23:16 -0700 Subject: [PATCH 2/4] Update application/20240515-fcl-service-provider-1-1-0.md Co-authored-by: Greg Santos --- application/20240515-fcl-service-provider-1-1-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240515-fcl-service-provider-1-1-0.md b/application/20240515-fcl-service-provider-1-1-0.md index 1fa88dbc..64bdcb68 100644 --- a/application/20240515-fcl-service-provider-1-1-0.md +++ b/application/20240515-fcl-service-provider-1-1-0.md @@ -2,7 +2,7 @@ status: draft flip: 270 authors: Jordan Ribbink (jordan.ribbink@flowfoundation.com) -sponsor: Jordan Ribbink (jordan.ribbink@flowfoundation.com) +sponsor: Greg Santos (g@flowfoundation.org) updated: 2023-05-15 --- From b0f522ef10bd40d2e676835aa70fe4b3f5a47735 Mon Sep 17 00:00:00 2001 From: Jordan Ribbink Date: Mon, 20 May 2024 09:23:21 -0700 Subject: [PATCH 3/4] Update application/20240515-fcl-service-provider-1-1-0.md Co-authored-by: Greg Santos --- application/20240515-fcl-service-provider-1-1-0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/application/20240515-fcl-service-provider-1-1-0.md b/application/20240515-fcl-service-provider-1-1-0.md index 64bdcb68..1d5268fe 100644 --- a/application/20240515-fcl-service-provider-1-1-0.md +++ b/application/20240515-fcl-service-provider-1-1-0.md @@ -1,7 +1,7 @@ --- status: draft flip: 270 -authors: Jordan Ribbink (jordan.ribbink@flowfoundation.com) +authors: Jordan Ribbink (jordan.ribbink@flowfoundation.org) sponsor: Greg Santos (g@flowfoundation.org) updated: 2023-05-15 --- From a476d0fe0f1e130d60ff3117b82cb2f300826d75 Mon Sep 17 00:00:00 2001 From: Jordan Ribbink Date: Mon, 20 May 2024 09:25:13 -0700 Subject: [PATCH 4/4] Update 20240515-fcl-service-provider-1-1-0.md --- application/20240515-fcl-service-provider-1-1-0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/application/20240515-fcl-service-provider-1-1-0.md b/application/20240515-fcl-service-provider-1-1-0.md index 1d5268fe..9d543687 100644 --- a/application/20240515-fcl-service-provider-1-1-0.md +++ b/application/20240515-fcl-service-provider-1-1-0.md @@ -59,7 +59,7 @@ N/A ### Dependencies -This +N/A ### Engineering Impact @@ -91,4 +91,4 @@ N/A ## Questions and Discussion -Discussion can take place on this FLIP's pull request. \ No newline at end of file +Discussion can take place on this FLIP's pull request.