---
# System prepended metadata

title: Build bridges and make money

---

## Contributors Haven

Notes Gabriel
---
Problem
-> Keeping community active, engaged and involved is a problem - there are multiple mechanisms, e.g. airdroping to contributors or early users, but no definitive way

-> Akash and Joy spent time during EthOnline at Mu Chiang Mai (a zuzalu-like pop up city) about two months and still there. and they experienced first hand that it's hard to reward participation of community members from the organizer

What we did
-> We created a platform for allowing projects to create campaigns on Twitter and regarding users that interact with the platform, for ex like, retweet, quote, etc.
	This logic can be expanded, i.e. we can include Github contributors, Twitter logic, POAPs, etc - we basically relyon what Sismo support. 
	Bots: have ML logic identifying bots and not adding them to vault for group membership
    
    
    
- Appreciation of the community for donating this as a public good

    
    
---    
# Additional points   

# What

EngageEarn is a platform that enables communities to reward their contributors. Communities can create "campaigns" on our platform and offer rewards to users who fulfill all the specified checkboxes in the campaign. For example, if you want to increase engagement on your latest Twitter post, you can set up a campaign, assign rewards for verified participation, and encourage people to interact with your post and help boost your online presence.

# Why

We built EngageEarn to address the challenges faced by communities in rewarding their contributors. During our stay in Mu Chiang Mai, a popup city in Thailand similar to Zuzalu, we realized that there was a need to reward individuals who engaged with the community on social media platforms like Twitter. These contributors played a key role in promoting Mu but were not receiving any incentives. We wanted to create a platform, EngageEarn, that would allow community members to be rewarded and satisfied.

# How it works

Communities deposit their idle DAI to Spark's SavingsDai contract to earn a safe yield. Once deposited, communities can create a new campaign by uploading a twitter post, setting the pool size, and allocating funds. Participants can complete the task by liking the post, generating a proof, and submitting it to our contract. Verified proofs are added to the campaign reward list. At the end of the campaign, verified participants receive their share of the prize pool.


---
Tableland

-> Write table (frontend)
    ts-node scripts/write_to_tableland.ts

-> Retrieve data
    https://testnets.tableland.network/api/v1/query?statement=select%20%2A%20from%20campaigns_11155111_301
    OR
    https://tablescan.io/campaigns_11155111_301

For submission:
For Tableland submission @lifeis_joy7 
-> dev address: 0x6F8Be6B46314b51C2d88F5E839dA1d5892C9cfF5
-> Team name: gfior
-> Project: eth-online

---
- Sismo front-end integration

    - (keep this data in mind) Sismo data groups
        - Foundry contributors: groupId 0x843d4092ffba2a5b069f618dd7b6895d, link to members https://sismo-prod-hub-data.s3.eu-west-1.amazonaws.com/group-snapshot-store/0x843d4092ffba2a5b069f618dd7b6895d/1697639142.json
        - Users following Ethereum (group ID 0xa92d84058abdb05961ada4de0f902b0c) (link to members https://sismo-prod-hub-data.s3.eu-west-1.amazonaws.com/group-snapshot-store/0xa92d84058abdb05961ada4de0f902b0c/1682345838.json)
        - Lens profile holders (group ID 0x945e9e7b1f95899328bf9c4490aba9fc) (link to members https://sismo-prod-hub-data.s3.eu-west-1.amazonaws.com/group-snapshot-store/0x945e9e7b1f95899328bf9c4490aba9fc/1697466097.json)
    
    - (1) Follow this tutorial (https://docs.sismo.io/sismo-docs/build-with-sismo-connect/tutorials/deploy-your-contracts) so that you have a working frontend to use
        - Note that you need a Sismo connect app (from https://factory.sismo.io/) in order for users to be able to request proofs.
        - From the repo above, extract Sismo connector from page.tsx.
        - Here you will also need to connect to a smart contract. Use the Airdrop contract for now.
        - If helpful, I completed the tutorial and have an example repo available (https://github.com/contributors-haven/sismo-integration), if not helpful please follow the tutorial above.
    - (2) From this point forward, you have a Sismo sign-in button in the frontend. Now you need a smart contract from zkash that is able to verify proofs.
        - For membership verification, use the vault IDs I listed above (3 data vaults) and impersonate accounts in order to generate valid proofs (since your wallet is probably not a member of any of the groups)
        - Send the Sismo-generated proof to zkash's contract for verification. Have it log to the console or return a dummy variable if the proof verification is OK.


---

**Preliminary idea - Build a bridge between Starkware <> Aztec.**

- Bridge mechanism should be mint-and-burn.

Tech questions
- Do we need relayers for inter-chain communication?
- Rust expertise in team? Aztec uses Noir (rust like language), Cairo similar

**DeFi considerations**
- Multi-chain borrow-and-lending
    - Lock ETH in chain A
    - Mint crossETH in chain B
    - Before borrowing USDC on chain B, agent checks on chainA if enough tokens are locked. Note that user is able to use same collateral on multiple chains (think of it like multiple mortgages on the same house), but if tokens are now not available anymore (e.g. liquidated on chain C), then liquidation is also triggered on all chains.
        - For this, off-chain monitoring process would be a possible solution.
- Multi-chain DEX
    - Much like Sushiswap already does


Open questions

- [x] (Joy) Prizes that coincide with what we are trying to build? MakerDAO, aztec, starkware?
- [x] (Gabriel) Think of DeFi magic to be built on top of bridges


## Sponsors Track Summarize

### Scroll($20,000) - zkash / Gabriel
- pool prize (4k), best apps (3 x 2k, 10 x 1k)

### Spark($20,000) - zkash / Gabriel
- sDAI (4k, 2k, 500): it is an ERC-4626 yield bearing token. Deposit DAI to the contract and get yield from DAI's profits (fees, coinbase custody, T-bills).
- Conduits (4k, 2k, 1k): connect Maker's liquidity to any protocol.

### Mask Network($10,000)
- 

### Polygon($10,000) - zkash
- best use (2.5k)
- LxLy bridge, cross-chain (2.5k) 
    - idea: sDAI yield moves from Ethereum to Polygon, governance to decide the allocation of the yield for public goods funding.
    - nft mint conditional on ownership of certain assets on Ethereum.
- Account abstraction / gasless transactions using Safe / Biconomy SDK. (2.5k)

### Safe($10,000)
- 2.5k, 1.5k, 1k for using Safe Core / AA SDK.


### UMA($10,000) - zkash
- Use Uma oracle or Across bridge (5k, 2k, 3k pool prize)

### Hyperlane($10,000) 
- top prize 3k, 
- best interchain 2k, 1k
- best use of warp routes 2k
- best infrastructure (2k): Starknet <> Ethereum bridge


### Mantle($10,000) - zkash
- Best DeFi (2 x 1.25k), NFT/Gaming (2 x 1.25k), best UX (transaction history like tiktok timeline)

### ApeCoin($10,000) - zkash / Joy
- best use case of ApeCoin (payment, nft, gaming, commerce, etc) (3k, 2k)

### Wormhole($10,000) - zkash
- best cross chain app using wormhole automatic relayers (6k, 3k, 1k).


### Axelar($5,000) - zkash
- use Axelar GMP for sending interchain messages / tokens (3k, 1.5k, 500).

### Sismo($5,000) 
- best overall (2.5k), reputation-based services (1k), privacy (1k), creative (500).
- idea: public goods funding grantee should have > 1000 twitter followers.

### Compound Grants($5,000)
- 

### Connext($5,000)
- 

### XMTP($5,000)
- 

### The Graph($5,000)
- 

### Lit Protocol($5,000)
-

### Chainlink($5,000) - zkash
- automation (2 x 1k)

### Push Protocol($5,000) - zkash / Joy
- multichain conditions: token ownership on multiple chains to get membership
- message sending conditions: user has 1 token can join group chat but need to have 100 tokens to send message (or join specific channels). or multiple conditions

### Tableland($5,000) 
- create a sqlite database, index events, send the data to the table.


### Aztec($5,000)
- 

### Uniswap Foundation($5,000)
-

### Cometh($5,000)
-


### Push Protocol($5,000)
----
# Skills check

| Project      | zkash | Gabriel | Joy
| ----------- | ----------- | ----------- |----------- |
| Spark      |        |   | |
| Wormhole   |         | x | |
| Aztec   |         | x | |
| Uniswap   |         | x | |
| Tableland   |         | tinkered a bit before | |
| The Graph   |         | x | |

# Ideas

- (GF) ~~Spark -> Sparklend, deposit into sDAI, exchange - build leverage on top~~
    ~~- Available on Mainnet and Gnosis chain~~
    ~~- Build Graph on top (1.4k prize)~~
    ~~- Not sure how long this takes~~
	
- (GF) Tableland (Pool 1k)
    - Some use-case (unclear) for extending storage capabilities of smart contracts
	    - Integrate that with visualization tool like Streamlit
	    - Idea - create a global key-value store to all contracts on Mainnet, addressable by key - this should be queryable only by the contract itself (see question https://discord.com/channels/554623348622098432/993006140856221746/1163876536802361424)
	    - Risk: not sure if gas-efficient, e.g. retrieving data from Tableland could cost tons of gas
	    - Probably possible to complete this within 3 days
    - Create one table for multiple chains using Wormhole
        - User can query from -> to chain column
        - Q: How can we subscribe to Wormhole transactions and, once that happens, we store a new row into Tableland?
            - Use spies (https://docs.wormhole.com/wormhole/explore-wormhole/spy)
            - Example UI for token transfer - https://github.com/wormhole-foundation/example-token-bridge-ui
        ~~- One option would be: let's have our contract sitting in between and triggering Wormhole, after that we write to the table.~~
        
        : )
- (GF) Aztec (1st 2k+ 2nd 2k+ 3rd 1k)
    - https://github.com/AztecProtocol/dev-rel/blob/main/hackathons/INSPIRATION.md
    - Private DAO voting: You could try to implement these in vanilla Noir, or as Aztec contracts.
zkVoting - a protocol that anyone can easily implement into their DAO for privacy-preserving voting
    GF did a similar project and won a hackathon (solidity using Zama-Fhenix, https://github.com/gabrielfior/privagon), not sure if allowed
    - Can be completed in 3 days, but a bit challenging
		
        
* Omnichain money market using Wormhole.
    * crosschain messaging protocols want their infrastructure to be used for building real world use cases. DeFi money markets suffer from the issue of liquidity fragmentation when a fresh instance like aave gets deployed on a new chain, so an omnichain money market is a very practical use case. 
    * reference: Radiant Capital, Tapioca DAO both of which are built on LayerZero. We can do the same using Wormhole.
    * Risk: completing this in 3 days seems delusional but we can only build the basic functionalities and not care about edge cases.
    * Bonus: try to fit other bounties like Spark conduit to channel Maker liquidity, use Sismo Connect for KYC or some other authentication like twitter reputation to allow gated access to some money markets (or some other idea that doesn't sound dumb).
    * https://beta.tapioca.xyz/, https://radiant.capital/ 


- Spark?