Closed makoto closed 4 years ago
I'm not sure this is necessary. If we're working on the assumption that for check in people have a web3 enabled browser on their phone then can't we just open burner wallet inside that with the metamask plugin so they retain the address they signed up with?
xDAI can then just be airdropped into a user's account on confirmation of registration (or they're given a preloaded key which only they can decrypt for them to drain funds from). Having a "post check in" hook on the check in server is then the meat of this issue.
This way we can also get better social integration in events as we can directly load names/images from their profile without having to link 2 addresses together.
@TomAFrench then that would be idea 4, load the injected wallet. If that's the case, I would like to add to the required criteria that if it would work even if we started integrated with other wallet providers such as Torus, Authereum, and WalletConnect, as we are planning to integrate with BlockNative onboard.js
Issue Status: 1. Open 2. Started 3. Submitted 4. Done
This issue now has a funding of 300.0 DAI (300.0 USD @ $1.0/DAI) attached to it as part of the Wearekickback fund.
Issue Status: 1. Open 2. Cancelled
Work has been started.
These users each claimed they can complete the work by 1 month ago. Please review their action plans below:
1) immense055 has started work.
We can setup a boot by public.they also Get some token.it's be easy way to make our gol 2) jasondrogo has started work.
Worked with WalletConnect Earlier. I am familier to this one.I can deliver with all requirements.
Learn more on the Gitcoin Issue Details page.
@immense055 We can setup a boot by public.they also Get some token.it's be easy way to make our gol
I don't quite understand what you mean by this. Can you join our discord channel and explain a bit more detail?
I've been thinking a little on how to handle this in a way which doesn't rely on a user having the same address on their desktop and mobile wallets, in particular how 3box could help with option 3.
Multiple addresses can be linked to the same DID. A user could attach their mobile/Authereum/whatever wallet to use on their phone to the same DID as their desktop wallet which put up the deposit. Once this is done then the DID defines their identity rather than just their address (This has the benefit of allowing the use of the QR scanner to check in these people; something not possible atm)
More relevant to this issue is that a burner wallet could be linked to the DID (this would need to be done at home before coming to the event). Users would have to pregenerate a short seed phrase with which to create the burner address and then link it to their DID.
Once they go to the event they can enter this seed phrase (which should be memorable) into their mobile browser and bingo, we have a burner wallet which can be linked to the attendee's identity.
If we assume that the airdrop can be sent to each registered person without verification of attendance (seems reasonable as the event deposit can be increased to cover this or the event can use a token which is otherwise worthless such as buffidai), then the event organisers just need to query 3box for each attending address to get the address which is designated to receive airdrops.
If attendance is required then this would need to be done through whatever check in procedure is implemented. But as an example: the organisers can scan the addresses of attendees on arrival, perform the lookup on the DID to see if the address of an attendee is linked to the scanned address and then send the airdrop if it is. (This could be wrapped up into a burner wallet plugin to automate this)
To do this properly would probably require some deep munging about in the login system to make DIDs a first class citizen as otherwise we get into a situation where multiple addresses "are the user" but only one can log into Kickback.events
the linked bounty is still open?
Issue Status: 1. Open 2. Cancelled
The funding of 300.0 DAI (300.0 USD @ $1.0/DAI) attached to this issue has been cancelled by the bounty submitter
I will close this for now. May reopen in future
Challenge: Burner Wallet Integration R&D
Bounty
Up to 500 DAI. Many submissions, multiple winners.
[NOTE] If the winning submission turned out to be feasible, we may commission further work to productionize it.
Background.
Kickback is a popular choice to manage free events. User commit Eth/DAI to attend events. If they don't their commitment gets distributed to the one who attended.
Burner wallet is a popular choice to bring "Token economy" to events. User receives xDAI in their mobile browser and can claim drinks and swags at event without waiting for long confirmation time or needing ETH to pay gas price.
These two are the perfect combo for any events and there will be a great synergy if they can seemlessly integrate but here are the problems.
The current workflow.
If you want to use Kickback and Burner wallet as is, here is the flow.
The challenge
Simplify step 4&5 by somehow linking Kickback wallet address and Burner wallet address.
Here are some ideas Kickback and Burner team have brainstormed in the past but you can be creative to have your own solution.
Idea 1: Generate Burner address derived from existing wallet address
Burner wallet has a way to generate contract based wallet using contract wallet plugin so it can generate new burner wallet address which is unique to the signer. The advantage is that there is no need to store the information which links burner and kickback wallet addreses. The downside is that something like Metamask chrome plugin does not work on mobile browser hence we have to restrict the usage of Metamask plugin.
Idea 2: Scan QR code
User has Kickback page open on his laptop, click "Scan QR code" will display a QR code, then user scan the code using his/her mobile phone which opens up burner wallet page preloaded with some xDAI. We couldn't figure out how wwe can preload xDAI with the link, so not sure if this is feasible.
Idea 3: Signed message
Utilize signed messages and contracts to let them attach their burner account to a contract that's already linked to their kickback account.
Idea 4: Use injected wallet as a signer.
Idea from Tom
Currently, burner modules have
InjectedSigner
. As long as we discourage users not to use desktop Metamask plugin but use others (eg: Opera mobile, Metamask mobile, Status, Trust Wallet, etc), then it can use the same address.If this is the case, please also investigate if this can work not only injected wallet but with any other wallets such as Torus, Authereum, Wallet Connect, etc as we are planning to integrate with onboard.js
Submission Requirement
Judging criteria.
References