Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hiIQ NFT Raffles #3

Closed
zer0blockchain opened this issue Jun 17, 2021 · 2 comments
Closed

hiIQ NFT Raffles #3

zer0blockchain opened this issue Jun 17, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@zer0blockchain
Copy link
Contributor

Solving

  • multichain hiIQ holders
  • passive way for hiIQ holders to participate
  • gas efficient way to run NFT raffles

Proposed Solution

  • multichain snapshot of hiIQ holders at a predefined block
  • all hiIQ holders will be entered into the raffle proportional to their hiIQ holdings at the time of snapshot
  • this allows hiIQ holders a way to passively hold and participate
  • minimal gas cost for holding a Raffle and scales well
  • snapshot stored on IPFS and hash pushed onchain as part of raffle (is this possible to push a ZKP onchain?)
  • raffle drawing will use randomness from PRNG or chainlink to resolve the raffle
  • winner will receive the NFT

Onchain info

  • IPFS hash of all hiIQ holders and their raffle ticket numbers
  • IPFS snapshot block number
  • Raffle start datetime
  • Raffle end datetime
  • resolution (could have multiple winners?)
  • prize contract (ERC721 contract addr and tokenID)
@zer0blockchain zer0blockchain added the enhancement New feature or request label Jun 17, 2021
@zer0blockchain zer0blockchain self-assigned this Jun 17, 2021
@kesar
Copy link
Member

kesar commented Jun 21, 2021

I would suggest to add a onERC721Received interface that will be use to add NFTs to the raffle

https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#IERC721Receiver

you can get as inspiration what aavegotchi does for handle erc1155 and decode the raffleID from data
https://github.com/aavegotchi/aavegotchi-contracts/blob/master/contracts/raffle/RafflesContract.sol#L510

@kesar kesar added this to To do in Management Q3 Jun 30, 2021
@kesar
Copy link
Member

kesar commented Nov 8, 2021

done already

@kesar kesar closed this as completed Nov 8, 2021
Management Q3 automation moved this from To do to Done Nov 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

2 participants