Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: sync spaces custom domain with walletconnect allowed origins #487

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

wa0x6e
Copy link
Contributor

@wa0x6e wa0x6e commented Jan 6, 2025

Closes #https://github.com/snapshot-labs/workflow/issues/362

This PR will sync the space's custom domain with WalletConnect allowed origins list, using walletconnect's new API

Changes

  • Adding a custom domain will also add on walletconnect
  • Removing a custom domain will remove it from walletconnect
  • Editing a custom domain will add the new one, and remove the old one from walletconnect

How to test

Set the new env vars in your .env

WALLETCONNECT_PROJECT_ID= # optional
REOWN_SECRET= # optional

You can create your own (via https://cloud.reown.com/app), or ask for the prod keys

  • Connect an UI (e.g sx or v1) to sequencer
  • On your terminal, send curl -X GET "https://cloud.reown.com/api/get-allowed-domains?projectId=[WALLETCONNECT_PROJECT_ID]" -H "Authorization: [REOWN_SECRET]" (set the correct variables)
  • It should return a list of whitelisted domains
  • On the UI, adds a new custom domain to your space
  • Send the curl command
  • The returned list should include your newly added domain
  • On the UI, update your space's custom domain
  • Send the curl command again
  • Your previous domain should be removed, and replaced by your updated one
  • On the UI, remove the custom domain from your space
  • Send the curl command again
  • Your domain should be removed from the list

@wa0x6e wa0x6e marked this pull request as ready for review January 6, 2025 21:44
@wa0x6e wa0x6e force-pushed the feat-whitelist-custom-domain-for-walletconnect branch from 6147398 to a00278c Compare January 6, 2025 21:50
@wa0x6e wa0x6e requested a review from ChaituVR January 6, 2025 21:50
@wa0x6e
Copy link
Contributor Author

wa0x6e commented Jan 7, 2025

We currently have 1033 custom domain, and most of them are not working.

Should we import all of them, or import only those working ?

@@ -133,4 +140,9 @@ export async function action(body): Promise<void> {
}

if (existingSettings.avatar !== msg.payload.avatar) await clearStampCache('space', space);

if (existingSpace?.domain != msg.payload.domain) {
await addToWalletConnectWhitelist(msg.payload.domain);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am still wondering if we want to add all domains (any space to add it) or just turbo spaces

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to decide whether we allow domain update for all spaces, or just turbo

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If that's simpler we can allow only for turbo and the ones who already had a domain set to update domain.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to set boundaries on the definition of "already had a domain".

For now, if a non-turbo space has already set a domain, he can change it.

But what happen when a non-turbo space currently has a domain, but remove it (by error, etc ...) ? The way it work now, the space lose the ability to put it back. To enable this, we need a way to mark these spaces as custom domain enabled

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am still wondering if we want to add all domains (any space to add it) or just turbo spaces

From the various discussions, it seems that the solution would be to whitelist all custom domains, and limit custom domain edition to turbo space, and existing spaces with custom domain

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All i worry about this PR is that someone may add many unwanted domains to walletconnect as any space can add a domain

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherwise looks good

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All i worry about this PR is that someone may add many unwanted domains to walletconnect as any space can add a domain

Working on a PR to prevent that. domain edition will be limited to turbo, and spaces with existing domains only

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See #488

This PR can be merged after the other one

@wa0x6e wa0x6e requested a review from ChaituVR January 11, 2025 12:50
.env.example Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants