UNPKG

revenue-sharing-contract

Version:

The revenue sharing contract for Mitama NFT project

34 lines (28 loc) 1.52 kB
# Donation-scheme NTF project The name is reveiled when public sale starts. ## Feature of project - Donation NFT: - Distination is determined depending on the attribute type of each NFT.(ex, water -> NPO Ocean protect) - Marketplace: Opensea - each time a NFT item is sold, revenue is shared to 3 entities; team, donation, and holders(past NFT holder of that NFT). HolderPass is a provenance of poof-of-hold of the NFT Token. Up to last 7 holders are available to receive the revenue. ## Technical feature of NFT - Dynamic NFT: NFT contract those tokenLevel is able to upgrade depending on the token sold price. - RevenueBuffer at revenue-sharing: - max 10% revenue is distibuted to 3 eneities; team, donation, and holders at Opensea's creator earning. - in case of donation and holders, the RevenueBuffer contract is configured above. - `RevenueBuffer` stores all received ETH on the contract. Provider job posts Request to RevenueBuffer on the item sold event at Opensea. `RevenueBuffer` distibutes stored ETH to all requested receipients on being called with `batchWithdraw()` which only Provider role wallet can call. - provider/index.js: Provider job - watch itemSoldEvent of Opensea - call request to `RevenueBuffer` - call upgradeTokenLEvel of `DynamicNFT` - call mint `HolderPassNFT` ## Future work - make all contract upgradable ## Basic Hardhat template ```shell npx hardhat help npx hardhat test GAS_REPORT=true npx hardhat test npx hardhat node npx hardhat run scripts/deploy.js ```