---
# System prepended metadata

title: v3 Blacksmiths Show & Tell (5/13/22)
tags: [' show and tell', ' blacksmiths', v3]

---

---
tags: v3, blacksmiths, show and tell
---

# v3 Blacksmiths Show & Tell (5/13/22)

## Ceramic Issue

- ES Module bundling issue with compatability with a Ceramic dependency
- Instead of using Self ID packages had to use lower level dependencies
- They'll likely push up another release next week that we can revert back
    - As people start to use our packages they'll likely encounter similar issues, so we'll have to keep this in mind

## Haus Data/SDK

- Question: In some spots classes are holding the state -- what is the benefit of having the state in the class as opposed to having utilities that spit out a result that we could hold in Context?
    - Not holding the state; this functions as a utility
    - `this.profile` and `this.query`
- Class `Haus` bundle of functionality but without the state duplication?
    - Done as a way to namespace some of the functions (`Haus.profile` holds functions)
- Framework independent, so keeping only in Context would make this more React-centric than intended
- Not needed to maintain global instantiation of Haus
- Pass from wallet context -> Haus

## DAOhaus Connect 

- Handling `global`
- `any` Type
    - setting `provider` as `any` like how it is done in Quiver
    - `providers.Web3Provider` doesn't cover all of what's on the `window.ethereum`
        - `any` is used to cover these items


### Dependencies and Quiver

- `SafeAppWeb3Modal` wraps `Web3Modal`, bringing this in as a dependency
- Inside Quiver, they're bringing in `ICoreOptions` since it didn't come in from `SafeAppWeb3Modal`
- Should we build the type ourself?
- Why are we calling `window.ethereum` in our app?
    - Quiver uses this pattern -- what is being done when this is called?
    - Only used to check if MetaMask is unlocked, and it's unlocked it'll automatically fetch the wallet information
    - What about using Quiver's context?
    - Would we want to make a PR to improve Quiver as we need?
- Quiver's default network functionality doesn't fit within our intended UX
- Do we want to *not* use Quiver in our DAOhaus Connect package?

## Vite Global and Process

- For wallet connect use ethereum wallet connect provider instead
- Bundles better with vite
- Experiencing issues with `process.env` in our own dependencies as well
    - Still need to figure this out
- 