Smart Contract
The processes of NFT Watch DAO are governed through a Smart Contract that has been developed by kryptokrauts, the team behind Soon.Market.
It is deployed on the account nftwatchdao on XPR Network. The source code is available on GitHub.
Secured via MultiSig
XPR Network is running on Antelope technology, which ships with an advanced permission system. In order to ensure that the nftwatchdao is not controlled by one single entity, we decided to secure the account via MultiSig.
Contract Actions
Public
reportto report NFT collections that violates the Code of Conduct- Params:
collection,reporter,reason - Reports will be stored in
blacklistrep-table until reviewed by Guards
- Params:
reqshieldingto request shielding for a specific NFT collection- Params:
collection,requester,requestMarketplace,skipBasicCheck,skipReason - Requires the Shielding Fee to be transferred upfront to nftwatchdao account with memo
shielding- A certain percentage of the fee will automatically be distributed to the
requestMarketplaceaccount as defined in the globals-table
- A certain percentage of the fee will automatically be distributed to the
- Allows to tell Guards to skip the Basic Check with a valid reason which should be consulted with guards upfront!
- Reports will be stored in
shieldingreq-table until reviewed by Guards
- Params:
Guards Only
addblacklistto add NFT collections to the blacklist which haven't been reported before- Params:
collection,guard,comment - A new entry will be added to the
blacklist-table - The new blacklist entry will be logged
- Params:
confirmrepto confirm a reported NFT collection to be added to the blacklist- Params:
collection,guard,comment - The entry in the
blacklistrep-table will be removed and a new entry will be added to theblacklist-table - The confirmation will be logged
- Params:
rejectreportto reject a reported NFT collection to be added to the blacklist- Params:
collection,guard,comment - The entry in the
blacklistrep-table will be removed - The rejection will be logged
- Params:
delblacklistto remove an NFT collection from blacklist- Params:
collection,guard,comment - The entry in the
blacklist-table will be removed - The deletion will be logged
- Params:
addshieldingto add NFT collections to the shieldings without requiring a request- Params:
collection,guard,skipReason,reportCid - This is mainly used for collections that have already been shielded before the contract existed
- A new entry will be added to the
shieldings-table - The new shielding will be logged
- Params:
confshieldto confirm shielding for a requested NFT collection- Params:
collection,guard,reportCid - The entry in the
shieldingreq-table will be removed and a new entry will be added to theshieldings-table - A certain percentage of the fee will automatically be distributed to the
guardaccount as defined in the globals-table - The new shielding will be logged
- Params:
rejectshieldto reject shielding for a requested NFT collection- Params:
collection,guard,reportCid - The entry in the
shieldingreq-table will be removed - A certain percentage of the fee will automatically be distributed to the
guardaccount as defined in the globals-table - The rejection will be logged
- Params:
delshieldingto remove an NFT collections from shieldings- Params:
collection,guard,comment - The entry in the
shieldings-table will be removed - The deletion will be logged
- Params:
MultiSig Only
addguardto add an authorized guard- Params:
guard - The guard will be added in the list of
authorizedGuardsin the globals-table
- Params:
delguardto remove an authorized guard- Params:
guard - The guard will be removed from the list of
authorizedGuardsin the globals-table
- Params:
addmarketto add an NFT marketplace that is eligible to allow their users to request shieldings- Params:
marketplace - The marketplace will be added in the list of
marketplacesin the globals-table
- Params:
setshieldprcto change the price in XPR for shielding- Params:
xprPrice - The
shieldingPricein the globals-table will be updated
- Params:
setfeestructto change the fee structure for rewarding guards & marketplaces- Params:
guard,dao,market - The
shieldingGuardFee,shieldingDaoFee&shieldingMarketFeewill be updated in the globals-table
- Params: