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
report
to 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:
reqshielding
to 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
requestMarketplace
account 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
addblacklist
to 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:
confirmrep
to 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:
rejectreport
to 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:
delblacklist
to 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:
addshielding
to 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:
confshield
to 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
guard
account as defined in the globals-table - The new shielding will be logged
- Params:
rejectshield
to 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
guard
account as defined in the globals-table - The rejection will be logged
- Params:
delshielding
to 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
addguard
to add an authorized guard- Params:
guard
- The guard will be added in the list of
authorizedGuards
in the globals-table
- Params:
delguard
to remove an authorized guard- Params:
guard
- The guard will be removed from the list of
authorizedGuards
in the globals-table
- Params:
addmarket
to 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
marketplaces
in the globals-table
- Params:
setshieldprc
to change the price in XPR for shielding- Params:
xprPrice
- The
shieldingPrice
in the globals-table will be updated
- Params:
setfeestruct
to change the fee structure for rewarding guards & marketplaces- Params:
guard
,dao
,market
- The
shieldingGuardFee
,shieldingDaoFee
&shieldingMarketFee
will be updated in the globals-table
- Params: