Comments (1)
CHALLENGE_WINDOW
ended up being important for the UX. Just like Uniswap (by itself, or wrappers) passes safeguard arguments to revert in case something goes wrong, here you need to pass the editionTimestamp
in case the item gets accidentally (or, purposely) edited on the lapse of time between choosing the challenge, and the tx getting included.
If you are giving the challenger leeway to choose past editions, then they could choose to challenge old editions that don't matter anymore, just to obtain rewards. So you need to limit it somehow, like with this CHALLENGE_WINDOW
.
Another topic I reflected about, why 4h for commit timeout? Isn't that excessive? 1h should be enough time to reveal under regular circumstances, and it would allow for either BURN_RATE
or MIN_CHALLENGER_STAKE_RATIO
to decrease significantly.
In that case, you could go with these settings and still get sniper to burn 10% stake for every item and day they perform sniping attacks:
uint16 public constant MIN_CHALLENGER_STAKE_RATIO = 2_083; // 20.83%
uint16 public constant BURN_RATE = 200; // 2%
uint32 public constant MAX_TIME_FOR_REVEAL = 1 hours;
from stake-curate.
Related Issues (20)
- timestamps are unsafe for a few things HOT 1
- Refactor Account events HOT 1
- List extra flags ideas HOT 1
- Send file uri as bytes32 instead of string? HOT 1
- Notify if the MetaEvidence options have been tampered with HOT 1
- General Policy Review HOT 6
- Make items compatible with EIP-721 HOT 1
- Set arbitratorAndDisputeIdToDisputeSlot to zero after rule
- Slot view simplifications HOT 1
- Make stakes compatible with EIP-20 HOT 1
- Document and deal with Badges at subgraph level HOT 1
- Add fullText queries to Subgraph
- Figure out how to deal with Property Types HOT 1
- Figuring out Item age on-chain HOT 1
- Flaws with Withdrawal and possible solutions HOT 2
- Turning on Commit Reveal HOT 2
- Add "prefill" query parameter
- Remove forListVersion from item updates?
- Update liveSince when item is Disputed
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from stake-curate.