Timeless X
Introducing Timeless X extension— your all-in-one web3 launcher and social utility platform where wallets, profiles and social feeds come together seamlessly. Pay, connect, chat and collaborate.
Created on 31st May 2024
•
Timeless X
Introducing Timeless X extension— your all-in-one web3 launcher and social utility platform where wallets, profiles and social feeds come together seamlessly. Pay, connect, chat and collaborate.
The problem Timeless X solves
Timeless X product ethos: It's gotta pass a toothbrush test—something you reach for at least twice a day and become a part of your daily routine, creating those unbreakable habits we all crave.
We believe this is possible by providing social utility with easy and frictionless onboarding. The former is achieved through our many social features (on-chain: discovering trending dapps and mints, following wallets for alpha; messaging: chat where your frens are through telegram integration; and socialize on your favorite web3 social (farcaster). The latter is achieved through integrating Coinbase's Smart Wallet — getting onchain securely is now a breeze.
Challenges I ran into
Overall, no major issues during buildathon. The following are minor issues faced:
- extension logo cannot render in coinbase page
- as it turns out, this is b/c extension urls are privilege and other web domains cannot access it by default
- Solution: update web-accessible-resources to allows keys.coinbase.com domain to access the favicon image: https://developer.chrome.com/docs/extensions/reference/manifest/web-accessible-resources
- cannot swap non-native token
- the issue is b/c we need to approve the swap gateway to use our non-native token first
- Solution: instead of updating the user flow, we integrated smart wallet’s batch transactions for this, i.e., token approval and swapping steps can be batched together and sent as 1 tx resulting in a much better ux
- insufficient documentation - the doc (https://www.smartwallet.dev/guides/batch-transactions#batch-transactions) tell us to use useWriteContracts but we cannot do that
- wallet logic is handled in the core layer, not react code, so we cannot use the hook directly
- also, useWriteContracts asks us to provide contract ABI whereas for the swap flow, we have the raw tx data already (returned from our BE api)
- Solution: had to dig through library code & end up integrate w/ sendCalls from @wagmi/core/experimental package
Tracks Applied (2)
Coinbase Smart Wallet
Social Track
SOCIAL with Farcaster
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.