Summary:
This integration is to allow users on the platform use the BNB token for
Bounties
Hackathons
Description
Type: Feature
Current Behavior
No existing implementation. Existing chains are BTC, ETH, ETC, Celo, Filecoin, Zilliqa, and Polkadot
Expected Behavior
Bounties
Funder will be able to fund all types of bounties (traditional, cooperative, & contest) using BNB token
Funder will be able payout to the contributor
Funder will be prompted by the browser extension to sign the transaction if the funder has enough funds in the wallet
Once completed -> Gitcoin will check the chain to find the transaction using the block explorer API and place it in a pending state until it the transaction has succeeded (this would be done via polling the chain for transaction status)
Upon completion of payment funder can close the bounty
If the bounty is contest / cooperative -> funders will be able to pay out multiple users in a similar process as mentioned above
Contributors will be able to enter BNB address to which the tokens would be sent to once the funder approves and does the payout
Hackathons
Hackathon will be built on top of the bounty integration allowing Binance to host hackathons which can be funded using BNB token allowing multiple users to work on the bounty at the same point in time (again this depends on the what the funder wants)
Circle integration / Hackathon Town Square for dedicated Binance hackathons
Dashboard to view all submitted projects.
Definition of Done
Backend
[x] Add binance_ext as a payout type in BountyFulfillment model
[x] Write backend function to fetch transaction status from a binance explorer (mainnet & testnet)
[x] Write backend function to sync binance payouts
[x] Add management command to sync binance payout
[x] Allow binance_ext in bounty fulfil and payout views
Frontend
[x] Connect to binance network via binance wallet browser extension
[x] Fetch connected wallet address and balance
[x] Sign and submit transactions to the binance network
[x] Select binance chain while creating a new bounty
[x] Wait for BinanceChain to be injected into window object before waiting for events
Why Is this Needed
Summary: This integration is to allow users on the platform use the BNB token for
Description
Type: Feature
Current Behavior
No existing implementation. Existing chains are BTC, ETH, ETC, Celo, Filecoin, Zilliqa, and Polkadot
Expected Behavior
Bounties
Hackathons
Definition of Done
Backend
binance_ext
as a payout type in BountyFulfillment modelbinance_ext
in bounty fulfil and payout viewsFrontend
Data Requirements
One or more successful BNB bounties, yea?
Additional Information
Binance chain explorer to sync payouts: Mainnet: https://bscscan.com/ Testnet: https://testnet.bscscan.com/
Binance Wallet: API: https://docs.binance.org/smart-chain/wallet/wallet_api.html Extension: https://docs.binance.org/smart-chain/wallet/binance.html