* add new copy for early access messaging and add better network interactions
* clean up render logic
* add insufficient balance messaging
* shrekislove
* fixed typo
* refactored isReady to be true after experiment initialization, regardless of success
* refactored Experiments context and created useExperiment hook
* refactored Hero component to use useExperiment hook
* changed default experiment behavior to show treatment
* refactored exposure event in exposureTrackingProvider
* changed experiment key to test new exposure event
* added logs
* removed logs and reverted experiment key
* refactored navbar social links to dropdown menu
* fixed nested dropdown
* refactored navbar dropdown link styles
* nested icon into anchor, added light/darkmode to icon
* added light/dark mode to social icons
* describe new endpoint
* add spinner icon and dropdown loading state
* loading avatar state
* use ricardo's endpoints
* better error handling for linked-addresses check
* create jwt with jose
* add loading state to registration UI
* dedupe some registrar controller references
* fix dropdown max height
* rename constant
* name -> names page
* refactor to use AddressMap
* undo docs change
* rm console.log
* set docs data to state on master
* remove classname conditional logic in favor of headless ui transition
* fix early return hook count error
* Extract Learn More Modal
* add dynamic og images for usernames
* clean up og image and url setup
* individually call each endpoint for attestation data--use linked accounts to check for existing registrations
* useAttestations
* fix linkedAddresses undefined error
* clean up api result
* tie in discount state to copy in registration form
* Add ShareUsernameModal for post-claim flow
* ShareUsernameModal: font weight and padding tweaks
* resolve conflicts
* useActiveDiscountValidators()
* ShareUsernameModal: design update
* update proof endpoints
* use response types, fix wrong network breaking name search
* ensure uniform utilization of the network check for contract args construction
* usernames: Update learn more modal
* Shelley feedback 1/6
* Shelley feedback 2/6
* Shelley feedback 3/6
* Brian doyle/zora tutorial (#588)
* Partial: Build with zora
* Stash progress
* Progress stash
* Add zora premint tutorial
* Apply feedback
* Fix typo
* Update title
* Shopify Storefront with Coinbase Commerce checkout (#562)
* Shopify Storefront with Coinbase Commerce checkout
* Implement @briandoyle81CB feedback
* Update Commerce section
* fix formatting
* use backticks for buttons
* add admonitions
* add a tip for checking out with crypto
* swap should with will
* update conclusion
* maintenance(node): Notate new requirement, NVME (#596)
* Swap typescript Code Blocks to tsx (#597)
* Start
* Switch typescript code blocks to tsx
* Feat/add events to docs (#587)
* Created logEvent utility
* Added event tracking to OCS Banner
* Created CustomNavbarLink with event tracking
* created custom navbar dropdown link with event tracking
* added event tracking to P0 navbar elements
* Added eventDetail parameter to event tracking
* Updated Bootcamp link
* enforced cursor pointer on custom navbar links
* updated navbar elements to include event tracking
* event tracking for navbar social links
* added target property to custom navbar elements
* made links to off-domain locations open in new tab
* updated tutorials data
* implemented tracking on connect wallet buttons
* removed duplicate connect button from StudentProgress component
* Links now send events with high importance
* Cleaned up StudentProgress component
* Social clicks use useCallback
* bugfix for logEvent
* created callbacks for social click handlers
* improved social click callbacks
* updated event names
* updated connect wallet event names on base.org
* added full typing to logEvent utility
* refactored logEvent typing
* added userId to event data options
* updated base-docs logEvent immplementations
* updated Connect Wallet event for base.org
* changed component_type to the expected
* Updated event logging for onchain summer banner
* fixed key errors on tutorials page (#598)
* chore: updated node versioning to be latest of 18 (hydrogen) (#560)
* updated node versioning to be latest of 18 (hydrogen) lts
* check if build version update works w/ gh action
* chore: add a pre-commit hook for linting (#601)
* add a precommit hook for linting
* test
* Revert "test"
This reverts commit f5329bd73c927424777cbac81606d19103a1b616.
* add eslintcache to gitignore
* Shelley feedback 4/6
* fix lint
* Shelley feedback 5/6
* Shelley feedback 6/6
* use chain query param
* talk to the individual discount validators
* fix parse cdp key issues
* add error messages
* fix register name callback types
* remove some linkedAddresses stuff from the frontend
* Mobile pass and update contract addresses
* useBaseEnsName hook
* fake hasUsedADiscount
* return error
* return error
* return error
* add back hasRegisteredWithDiscount from backend
* restrict name to 20 chars
* UsernameProfileForm, TextArea, Fieldset, Label, Hint and more
* UsernameProfileForm: use useEnsText and rename bio to description
* utilize proofs apis for checking validity of discounts
* add (discounted)pricing hooks
* useWriteMultipleBaseEnsTextRecords: hooks to multicall
* update register name callback to include non-discounted registrations
* render eth price correctly
* minor cleanup
* fiddling with register call & viem
* clean up discount/non price passthrough
* Move hooks into /src/hooks, clean up useFocusWithin
* fix import path
* Add USD price display
* Fix multiple imports
* Better placeholder
* cleanup
* .json->.ts abi
* fix import
* Update abis to consistent format
* clean + add validateEnsDomainName
* show error message
* reset values when user skip
* format search to avoid space
* button loading state & emoji lenght fix
* add support for discounted registration
* move to profile after registration
* update address type
* add keywords
* check for previously registered addresses on cb.id endpoint
* add states and state switcher
* determine if the name registration is free
* small refactor of RegistrationProvider
* move selectedName to provider
* move hash to provider
* fix broken imports
* rm console.log
* clean up and design fixes for success stage
* connect discounts to explainer modal state
* rm console.log
* Profile page light
* fix pill animation
* update default expire
* redirect to user profile after registration
* fix expiration time
* fix ellipsis
* fix colors
* rename registration-specific profile form
* move brand logic to component
* move components from file to folder
* remove button in the username search input
* fix redirect if no field was edited, rename variables
* update card links and order
* fix some styles
* addAddr and fix the resolvers
* test full flow, reload data
* add correct styling to discounted price
* User can edit profile
* add social links on Profile page
* css cleanup
* fix styles from merge
* fix tooltip opacity
* re-arrange layout to avoid overflow
* wip: fetch coinbase verifications badges
* add usernames early access endpoint
* add name is free pricing subtext
* Fix text on kv errors
* layout fixes and animation
* Add EAS badges
* fix key rendering issue
* Don't display verifications if we have none
* return error on hasPreviouslyClaimed proofs
* rename area of expertise to skill
* add analytics
* use a provider for sanity
* context chaining
* update analytics
* move discount logic to registration context
* add analytics to user profile page
* allow for 2 discounts to create a signature on sybil resistance
* set chain based on env
* switch chain
* fix frogmonkee
* add error states and dropdown components
* fix spacing
* design and usability improvements
* fix navigation and registration profile form
* rm dev controls
* default to env chain
* unify logic for chain check
* fix getAttestations chain logic
* add real name suggestions with cb-gpt
* use cb1 discounts first, if available
* address some TODOs and fix copy-to-clipboard UX in dropdown
* fix domain url, enable metadata and svg card support
* get chain client correctly
* add twemoji support
* Fix css-loader build error
* add endpoints for contract-uri
* add redirect when json is missing
* ECO-75: Fix input focused state with blue background
* ECO-81: Discount modal: external link open in a new tab
* switch key to static value on ens pills
* ECO-93: add <ImageWithLoading> component for nice image load
* ECO-80: add nice animation to the Modal component
* ECO-73: align blue dot
* ECO-72: use Basenames for the pages titles
* ECO-84: transition between registration profile form steps
* ECO-76: Fix jumping layout when changing years
* automatic redirect when missing domain
* fix focus error causing blue reset
* upgrade tanstack
* Add Guild badges
* minimal yarn.lock changes
* Coerce schema type
* Feat/local paymaster (#645)
* paymaster working with url
* Wallet type verification complete
* Packages updated
* configure smart wallet
* Cleanup
* Update yarn.lock
* vercel error fixed
* Build fixed
* Resolved Comments
* Resolved chains
---------
Co-authored-by: Jordan Frankfurt <jordan.frankfurt@coinbase.com>
* remove nav menu item for EA
* fix avatar overflow on pills
* tentative onchainkit implementation
* fix package
* fix padding and ECO-100
* ECO-60: fix validation
* ECO-12: remove perk value
* ECO-12-2: rename
* ECO-16: change tooltip copy
* update to latest onchainkit
* Fix non member found from Base Guild
* fix lock file
* Stub talentprotocol, fix verified country badge
* fix path
* avatar support with Vercel Blob
* lock
* Add TalentProtocol API endpoint
* Remove CSP for talentprotocol
* add radix tooltip pkg w/ refactor and add ai tooltip text
* use universal resolver address, check the avatar upload path
* reset address resolver for now
* error state & 404 page
* Display talent protocol score in badge
* add new discounts to discount modal
* add missing images and EA discount
* remove error stringifying from transactionError component
* ECO-85: skill badge design fix
* fix avatar resolution
* log avatar errors
* add EA contracts and validators
* update contract
* rename key
* debug early access checks
* add message if user is not eligible for early access
* don't discounts modal during early access
* connect wallet fixes
* dual chain support
* Unearned badges
* improve testnet/mainnet banner messaging
* proper chain resolution
* Move badge images
* Fix redirect after customizing profile
* better handling of EA roadblock
* fix cdp get vulnerability
* encode talentprotol URI
* fix cdp get vulnerability
* revert encodeUriComponent
* Fix a bunch of a11y errors
* alt image
* fix label
* Fix yarn lint issues
* lint error on getLinkedAddresses
* refactor paymaster code to fix ts errors (#680)
* add example env vars for paymaster links
* Remove .env
* gitignore .env
---------
Co-authored-by: Léo Galley <contact@kirkas.ch>
Co-authored-by: Ricardo Moguel <ricardo.moguel@coinbase.com>
Co-authored-by: Matthew Bunday <matthew.bunday@coinbase.com>
Co-authored-by: Brian Doyle <brian.doyle@coinbase.com>
Co-authored-by: Pat <patrick.hughes@coinbase.com>
Co-authored-by: wbnns <hello@wbnns.com>
Co-authored-by: Brendan from DeFi <brendan.forster@coinbase.com>
Co-authored-by: Keshav Singhal <107991050+Keshavrajsinghal@users.noreply.github.com>
* Reorg Random Color NFT
* Fix typo
* Fix typo
* chore: runs yarn dedupe and enforces a consistent version resolution for coinbase cookie manager (#644)
* Return updated_at data for ocs registry (#661)
* Feat: Implement Amplitude Experiment infra (#639)
* Added Amplitude Experiments Initialization to initCCA
* create useVariant hook to pull experimental variants
* refactored useVariant to create simpler interface
* linted
* automated defaultDeploymentKey logic
* added defaultDeploymentKey for prod env
* Created ExperimentsContext for web app
* added more specificity to amplitude domains for CSP
* additional properties on eventData
* added amplitude deployment keys to constants
* deleted unused useVariant hook
* refactored experiment initialization in initCCA
* refactored Experiments context
* refactored usage of Experiments provider
* refactored ampDeploymentKey logic
* removed experiment initialization from initCCA
* restored index page to prior state
* refactored initCCA to pull constants into dedicated file
* created Experiments context in base-docs
* implemented experiments context in base-docs Root
* moved Experiments context to libs
* updated Experiments context integration in base-web
* fixed import statement
* deleted unused context in favor of shared version in libs
* implemented shared experiments context
* moved Experiments context to be innermost context provider in base-web
* removed unused imports from initCCA
* refactored Amplitude Experiments package into libs
* fixed yarn issue
* added type declaration for
* refactored window type declaration
* Add addresses for Fault Proof contracts on Sepolia L1 (#656)
Will add challenger address in separate PR once we finalize it.
* Rename Base Camp to Base Learn (#649)
* Rename Base Camp to Base Learn
* Rename Base Camp to Base Learn
* Update learn link
* change wallet type property from camel to snake case (#643)
* Update api key requirement, minor style updates (#642)
* Fix type and clarify inheritance ex (#655)
* Document Reth snapshot URLs (#651)
* feat(ecosystem): New additions to Ecosystem page (#647)
* feat(ecosystem): New additions to Ecosystem page
* chore(Ecosystem): Add image for Dynamic
* Update preparing-for-fault-proofs-on-base-sepolia.md (#633)
Update preparing-for-fault-proofs-on-base-sepolia
* Fix conflict
* fix conflict
---------
Co-authored-by: Brendan from DeFi <brendan.forster@coinbase.com>
Co-authored-by: Danyal Prout <danyal.prout@coinbase.com>
Co-authored-by: wbnns <hello@wbnns.com>
Co-authored-by: Olexandr Radovenchyk <radole1203@gmail.com>
---------
Co-authored-by: Jordan Frankfurt <jordanwfrankfurt@gmail.com>
Co-authored-by: moggr <ricardo.moguel@coinbase.com>
Co-authored-by: Brendan from DeFi <brendan.forster@coinbase.com>
Co-authored-by: Ian L. <143178815+cbfyi@users.noreply.github.com>
Co-authored-by: Danyal Prout <danyal.prout@coinbase.com>
Co-authored-by: wbnns <hello@wbnns.com>
Co-authored-by: Olexandr Radovenchyk <radole1203@gmail.com>
* Updated the Registry API content
This commit updates the Registry API docs to reflect the most recent additions to the API and removes the beta flags
* Added Registry API to the sidebar
Added Registry API to the sidebar now that we are no longer in beta
* created build-for-less Hero element
* moved all hero logic and styles out of pages index
* modularized TreatmentHero
* moved BarChart component to treatment directory
* created ControlHero component
* simplified Hero component
* created uniform hero event for hero cta
* created shared hero button for all hero versions
* desktop and mobile hero versions moved to separate files
* refactored TreatmentHero with shared components
* refactored ControlHero with shared components
* Added experiment logic to Hero
* removed unused imports
* first attempt at loading state
* refined loading state
* minor refactor
* adjusted spacing to hero barchart
* corrected the experiment_key value
* adjusted mobile spacing and removed unused imports
* Adjusted bar chart legend
* refactored bar chart styles
* refactored TreatmentHero styles
* design tweaks
* final design pass
* refactored TreatmentHero
* Rename Base Camp to Base Learn
* Rename Base Camp to Base Learn
* Update learn link
* change wallet type property from camel to snake case (#643)
* Update api key requirement, minor style updates (#642)
* Fix type and clarify inheritance ex (#655)
* Document Reth snapshot URLs (#651)
* feat(ecosystem): New additions to Ecosystem page (#647)
* feat(ecosystem): New additions to Ecosystem page
* chore(Ecosystem): Add image for Dynamic
* Update preparing-for-fault-proofs-on-base-sepolia.md (#633)
Update preparing-for-fault-proofs-on-base-sepolia
* Fix conflict
* fix conflict
---------
Co-authored-by: Brendan from DeFi <brendan.forster@coinbase.com>
Co-authored-by: Danyal Prout <danyal.prout@coinbase.com>
Co-authored-by: wbnns <hello@wbnns.com>
Co-authored-by: Olexandr Radovenchyk <radole1203@gmail.com>
* Added Amplitude Experiments Initialization to initCCA
* create useVariant hook to pull experimental variants
* refactored useVariant to create simpler interface
* linted
* automated defaultDeploymentKey logic
* added defaultDeploymentKey for prod env
* Created ExperimentsContext for web app
* added more specificity to amplitude domains for CSP
* additional properties on eventData
* added amplitude deployment keys to constants
* deleted unused useVariant hook
* refactored experiment initialization in initCCA
* refactored Experiments context
* refactored usage of Experiments provider
* refactored ampDeploymentKey logic
* removed experiment initialization from initCCA
* restored index page to prior state
* refactored initCCA to pull constants into dedicated file
* created Experiments context in base-docs
* implemented experiments context in base-docs Root
* moved Experiments context to libs
* updated Experiments context integration in base-web
* fixed import statement
* deleted unused context in favor of shared version in libs
* implemented shared experiments context
* moved Experiments context to be innermost context provider in base-web
* removed unused imports from initCCA
* refactored Amplitude Experiments package into libs
* fixed yarn issue
* added type declaration for
* refactored window type declaration
* add walletType to event data
* changed walletType property to connector name
* removed console logs
* add walletType to base-docs wallet_connected event data
* sanitized connector name strings
* created helper function for string sanitation
* Created Banner component, fixed linter error in Icons
* Implemented Banner for OnchainKit
* Added strictly typed bannerName argument to Banner component
* updated Banner implementation on base web
* Updated Banner on base-web
* Added event tracking to Banner clicks
* linted libs Banner
* Implemented Banner on base-docs
* deleted OcsBanner given new generic implementation
* fixed local storage property name on base docs Banner
* added text underline to banner
* init commit
* implement feedback
* make global limit to the second step
* add admonition for limit cycles
* swap out PK
* use reference style links
* add danger callouts for private keys
This code improves error handling, is made more readable, and uses asynchronous fs.promises operations for a more modern approach to reading files and working with the file system.
* addressed linter issues on logEvent and typing
* addressed linter issues on OCSBanner
* added analytics events to builder essentials buttons
* updated TextCard to send event analytics
* added event data to text cards
* Updated FooterCategory component for analytics events
* added event analytics to footer links
* deleted dead bridge-faq footer link
* created type for AnalyticsEventData
* Updated type for AnalyticsEventData
* swizzled the DocSidebarItem and DocSidebarItem/Link components
* added event logging to sidebar link component
* added event data to one sidebar link
* linkClick handler dynamically creates events
* removed unnecessary customProps
* Added event logging to home icon
* added logging for docs and home navbar links
* addressed linter issues on logEvent and typing
* addressed linter issues on OCSBanner
* added analytics events to builder essentials buttons
* updated TextCard to send event analytics
* added event data to text cards
* Updated FooterCategory component for analytics events
* added event analytics to footer links
* deleted dead bridge-faq footer link
* created type for AnalyticsEventData
* Updated type for AnalyticsEventData
* swizzled the DocSidebarItem and DocSidebarItem/Link components
* added event logging to sidebar link component
* added event data to one sidebar link
* linkClick handler dynamically creates events
* removed unnecessary customProps
* addressed linter issues on logEvent and typing
* addressed linter issues on OCSBanner
* added analytics events to builder essentials buttons
* updated TextCard to send event analytics
* added event data to text cards
* Updated FooterCategory component for analytics events
* added event analytics to footer links
* deleted dead bridge-faq footer link
* created type for AnalyticsEventData
* Updated type for AnalyticsEventData