Closed D4nte closed 2 years ago
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
This issue now has a funding of 5000.0 DAI (5000.0 USD @ $1.0/DAI) attached to it.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work has been started.
These users each claimed they can complete the work by 2 months, 1 week from now. Please review their action plans below:
1) ajand has applied to start work _(Funders only: approve worker | reject worker)_.
I have familiarity with both Gnosis Safe and Waku and have developed multiple indexers for different blockchains. I'm very interested in working with p2p networking and cryptography and I'm pretty sure I will make a successful Proof of Concept. 2) arun06mc has applied to start work _(Funders only: approve worker | reject worker)_.
The PoC to be achieved is interesting. The system archetype of the PoC asked would be something that I would love to work on. I went through the instructions and symmetric key guide. It would be a great opportunity. 3) soptq has been approved to start work.
Hello! I have carefully read the introduction of this task and I think I can make this poc readily. I have experience in working with gnosis API and creates dapps for various web3 companies (can check my GitHub page and repos). I am expected to deliver in this week if approved. 4) developerfred has applied to start work _(Funders only: approve worker | reject worker)_.
I have experience building gnosis safe applications, I would love to implement it in Waku 5) shreedee has applied to start work _(Funders only: approve worker | reject worker)_.
Hello there, Would love to do this project for you. I have few years of experience working on web3 and over decade of experience delivering application. Feel free to look at my git Hub https://github.com/shreedee. I don't have much experience with Waku but have done significant work with Gnosis Safe. for this project my plan would be a) get upto speed on Waku (2 days) b) Implement the Poc UI (2 Days) Alice signs first and then sends her signature over Waku. Bob then sign and also send his signature over Waku. c)Carole collects Alice and Bob's signature from Waku, signs and submit the transaction with all 3 signatures to the blockchain. d) Debug any issues (1 Day)
I am confident I can complete this task in a week
Thanks Dee 6) 0xadil has applied to start work _(Funders only: approve worker | reject worker)_.
I have been exploring waku for purposes of glove (glove.fyi), and decentralizing components within crucial infra such as Gnosis is what I breath every moment and focus in on at PINT Network (pint.network).
My contribution to this PoC will not only be to Gnosis Safe, but through my experience and the bounty, it will also benefit both of the above initiatives that are all for censorship-resistance and continuous iteration to more decentralization.
I have a background experience with most open tech under the sun, including all that is required for prototyping a seamless functional UX.
Signing, Patron, PINT Network Core Dev, Glove 7) janisb111 has applied to start work _(Funders only: approve worker | reject worker)_.
Yes ucufiu u ucuciufici. Ififjfkkfjfj jgjfjjfk 8) trungtin has applied to start work _(Funders only: approve worker | reject worker)_.
I have experiences building with Gnosis safe and HD wallets. And this combination of Gnosis with Waku seems really interesting. So here is the game plan:
So all in all would be under 1 week of work to complete this project. Best wishes, TrungTin
Learn more on the Gitcoin Issue Details page.
@soptq you've been approved for this bounty. Happy building! Please join the Vac Discord; The go-to-place for questions about Waku.
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
Work for 5000.0 DAI (5000.0 USD @ $1.0/DAI) has been submitted by:
@statussceptre please take a look at the submitted work:
@Soptq
Thank you for the fast and excellent work. Here is some feedback, can you please address or comment on it?
I would like to be able to deploy this PoC so that end users can play around with it without having to run the command line. Here are few corrections needed for it to happen:
A user may not have Eth on Rinkey or may want to use one of the side chain support by Gnosis Safe for a cheap try out
If a user decides to use Rinkeby and deploy their smart contract, they currently cannot select the smart contract owner via the UI.
The contract tab keeps loading indefinitely. What could be the reason?
@Soptq
Thank you for the fast and excellent work. Here is some feedback, can you please address or comment on it?
I would like to be able to deploy this PoC so that end users can play around with it without having to run the command line. Here are few corrections needed for it to happen:
1. Chain Selection
A user may not have Eth on Rinkey or may want to use one of the side chain support by Gnosis Safe for a cheap try out
2. Smart Contract Owners Selection
If a user decides to use Rinkeby and deploy their smart contract, they currently cannot select the smart contract owner via the UI.
3. Contract Tab Loading
The contract tab keeps loading indefinitely. What could be the reason?
Fixed ;) https://github.com/Soptq/gnosis-safe-waku/commit/e9fb74c8edbe958038a26be9133ce1ecc578e70a
@Soptq Thanks! Few new issues:
Readme needs updating as code owners does not need to be edited
I cannot load an existing safe. E,g, 0x4d93F437cb2Ea09363E2da0e06B66F770168EaC1 on Rinkeby
When I enter the address, under "enter existing address:
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
The funding of 5000.0 DAI (5000.0 USD @ $1.0/DAI) attached to this issue has been approved & issued to @soptq.
Prize bounty
USD5000 in ETH or DAI.
Context
Waku is a decentralized network and family of protocols that allow censorship-resistant, private, peer-to-peer communication. It is the infrastructure backbone of the Status app, a Web3 decentralized messenger app. The JavaScript implementation of Waku, js-waku, enables dApps and webapps to utilize the Waku network for off-chain message transmission.
The Gnosis Safe is a multi-party multi-signature wallet.
Gnosis Safe is able to achieve gas-less signatures by running a centralized indexer, aka transaction history service.
This indexer is a centralized piece, critical to the wallet functionality. As of any centralized infrastructure, the indexer can be subject to censorship, DDOS attacks or hosting failure.
Replacing the indexer by the decentralized Waku network would mitigate such risks.
Bounty Specifications
Functional
The goal of this bounty is to explore the possibility of using Waku to make Gnosis Safe more decentralized.
The PoC
Technical
See WakuConnect Documentation on how to use js-waku.
There should be one content topic per smart contract wallet, to make the retrieving of signatures easy and efficient. e.g.
/gnosis-safe/1/<wallet proxy contract address>/proto
.Symmetric encryption using a symmetric key from the content topic should be used (see this guide).
Waku Light Push should be used to send messages, Waku Relay and Waku Store to receive messages.
The PoC should be a new simple frontend that allows to
The Gnosis Started Kit can be used to this purpose.
Example/Flow
Alice, Bob and Carole each hold a key to a 3-of-3 Gnosis multisig Wallet.
They want to proceed with a transaction out of the wallet to David.
Using the PoC:
Out of scope
The scope of this change is only to build a PoC frontend with the basic feature to demonstrate Waku usage with a Gnosis Safe wallet.
At this stage, we do not expect pending signatures to be private to other parties. Similarly to the indexer's functionality, there is no authentication needed to see the pending queue of transaction.
If relevant, privacy functions could be added at a later stage.
The indexer currently allows delegates to propose new transactions to be signed if vetted by one of the wallet's owner. This could be built at a later stage.
Integration in the Gnosis Safe Web Wallet can be tackle at a later stage.
Documentation
WakuConnect contains a number of how-to and examples on how to use js-waku with the React framework: https://docs.dappconnect.dev/.
Relevant Gnosis Safe repositories: