Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implement production dispute system (#1085)
* ZIP-0 Part II (#938) * move disputes to simple-disputes * move more to simple-disputes * wip * wip * some mock preparation * wip * fix tests * taplo fmt * update court authorized mdms * add dispute bond to market storage * mdm funds flow * fix clippy * fix pm benchmarks * add migration * simplify migration * correct migration * migration fixes and call filter * correct admin_destroy_market benchmark * improve simple-disputes mock * benchmark reserve_outcome * benchmark reserve_outcome * fix weights file * fix after merge * add migration tests * add migration reserve id test * apply review suggestions * rename reserve_outcome to suggest_outcome * separate resolve_disputed_market into parts * edit exchange API documentation * slash dispute bond * add empty commit * correct admin_destroy_market test * remove gd dependency from simple disputes * Update zrml/simple-disputes/src/mock.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/simple-disputes/src/mock.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/prediction-markets/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * add doc string * add doc strings * Reduce settle_bonds LOC * cargo fmt * Update zrml/prediction-markets/src/migrations.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/prediction-markets/src/migrations.rs Co-authored-by: Harald Heckmann <[email protected]> * apply review suggestion * add correct mdm benchmarking on_dispute * use on_dispute_weight inside api * improve mdm weight technique * add mdm weights to on_resolution * add tests for pm * modify migration logs, fix try-runtime * little benchmark fix * Update zrml/authorized/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/authorized/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * use result with weight struct * improve dispute api weight system * Use accurate dispute weight instead of max * fix clippy * Update zrml/prediction-markets/src/migrations.rs Co-authored-by: Malte Kliemann <[email protected]> * add copyrights --------- Co-authored-by: Harald Heckmann <[email protected]> Co-authored-by: Malte Kliemann <[email protected]> * fix clippy * fix clippy * Update dependencies to v0.9.38 * More dependency updates * Update standalone runtimes * Fix build with feature runtime-benchmark * Update Zeitgeist parachain runtime * Update Battery Station parachain runtime * Deduplicated dependencies * Make tests succeed for parachain runtime * Partially fix Zeitgeist xcm tests * Make all runtime tests succeed * Update standalone client * Update parachain node * Add migrations * Cargo fmt * Satisfy Clippy * Cargo fmt * Taplo format * Update licenses * remove outsider bond from migration * Reduce runtime test dependencies by half * small changes * Add missing runtime-benchmark feature * Use upper case copyright name Strange, locally the copyright script says: "All copyright notices are up to date! 🍉" On GH pipeline: "error: zrml/prediction-markets/src/benchmarks.rs: no copyright notice for Forecasting Technologies LTD found" * Remove test logger * Implement Production Court (#976) * apply review suggestions * rename reserve_outcome to suggest_outcome * separate resolve_disputed_market into parts * add debug asserts * document types * modify sort check * avoid double remove * clarify docs * avoid mut * binary search by account id * Revert "binary search by account id" This reverts commit c04d5ff. * make pool item key unique * use secure random number generator * add tests * add tests * found bug in exit court * correct slashable * fix exit court * correct tests * fix bug, add tests * fix second get_winner bug * modify tests * fix draw active lock bug, add tests * rename total_slashable to consumed_stake * update config parameters, tests * modify params and add tests * add denounce tests * increase code safety * add tests * add tests * edit exchange API documentation * slash dispute bond * add empty commit * correct admin_destroy_market test * revert get_resolution_outcome to on_resolution * remove gd dependency from simple disputes * use appealed outcomes for global dispute * modify appeal bond formula * remove slash percentages * benchmark court * Update zrml/court/src/types.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/types.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/mock_storage.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/tests.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/tests.rs Co-authored-by: Malte Kliemann <[email protected]> * periods to round timing, modify tests * modify doc comments * use onunbalanced * improve RequestInterval documentation * improve consumed_stake documentation * remove court from filter * add treasury to court * correct errors * update comment * update get_pool_item comment * update get_pool_item comment * comment juror pool * improve doc comments * cargo fmt * rename constants * edit court pallet doc * update tests * rename secret to commitment * make commit reveal failsafer * outsource commitment function * update doc comments * merge punish tardy jurors reassign juror stakes * outsource get_n_random_numbers * correct logs * rename default to get * improve extrinsic comments * simplify choose_multiple_weighted * improve naming * remove back_global_dispute * unlock jurors from last draws * improve error description * shorten mock periods * document private functions * add assert to check max appeals * add stake to juror joined event * correct test * improve test * update reassigned event comment * correct test * add assert check * improve tests for draws * add reveal vote invalid salt fails test * denounce slash inside reassign_juror_stakes * improve test readibility * rename periods to cycle_ends * add select jurors test * change randomness source in court tests * fix clippy * imrpove tests * remove cccount lookup in tests * improve test setup * add API tests, add missing unlockings * add full cycle court tests * remove invalid test * add missing WeightInfo * add inflation inside court * improve benchmarking and testing * add integrity_test * Update zrml/simple-disputes/src/mock.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/simple-disputes/src/mock.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/prediction-markets/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * add doc string * add doc strings * Reduce settle_bonds LOC * cargo fmt * Update zrml/prediction-markets/src/migrations.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/prediction-markets/src/migrations.rs Co-authored-by: Harald Heckmann <[email protected]> * apply review suggestion * add GDItem integration * add delegations * improve code structure * fix benchmarks * optimize logic * add correct mdm benchmarking on_dispute * use on_dispute_weight inside api * improve mdm weight technique * add mdm weights to on_resolution * add tests for pm * modify migration logs, fix try-runtime * adjust tests for binary search * improve benchmarking * do small change * little benchmark fix * Update zrml/authorized/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/authorized/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * use result with weight struct * improve code * update benchmark and weights * improve dispute api weight system * test delegations for reassign * correct benchmarks and test * remove comment * add API benchmarks * update weights * use generic vote item instead of outcome report * update to court id and generic court * fix stuff and add documentation * add court readme, use new parameters * improve naming, weighting * Use accurate dispute weight instead of max * take random ranges without replacement * switch get_random_number algo * integrate court and reject simple disputes * update start_global_dispute bench * fix clippy * use efficient draw without replacement algorithm * small edits * round to min juror stake, use other draw algo * use partial fisher yates algorithm * improve naming and comments * update changelog for devs * improve dispute api documentation * correct call filters * add copyright notice * remove is_outcome and is_binary * remove unnecessary "Court" prefix * update copyright notices * remove front end comment * Update zrml/court/README.md Co-authored-by: Malte Kliemann <[email protected]> * npx prettier court readme * improve style of terminology * update readme * remove unnecessary impl block * update comment * remove todo * make reward_pot package private * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * update integrity test * improve join court doc * improve extrinsic documentation * update delegate doc * make some types package private * fix struct comment * update readme * update readme * remove commitment matcher * fix doc string * remove unnecessary error * improve import * improve test case * fix inflation misbehaviour * improve round timing structure * improve error names * fix get_valid_delegated_juror * remove wrong break * update weight for select jurors * allow rejoin after exit preparation * remove unnecessary apis * improve naming and docs * fix clippy * fix copyrights * update changelog for devs * Update runtime/common/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/court/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * comment benchmark components * comment benchmark component * Update zrml/court/README.md Co-authored-by: Harald Heckmann <[email protected]> * add terminology for court * Update zrml/prediction-markets/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * restructure import * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * use mul_floor and reduce indentation * safe guard inflation emission * use imbalance for minting * use saturated div * logging if inflation period mint too high * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * reduce court InflationPeriod for Battery Station * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * fmt * fix tests * fix issue tokens without burn * remove unnecessary error return * allow equal amount to previous stake --------- Co-authored-by: Malte Kliemann <[email protected]> Co-authored-by: Harald Heckmann <[email protected]> * [Global Disputes] Fix issues after first battery station live test (#912) * apply review suggestions * use keep alive * cargo fmt * use function instead of raw * improve documentation * improve 2 outcome check * start gd requires two unqiue outcomes * fix error * add empty commit * correct admin_destroy_market test * revert get_resolution_outcome to on_resolution * remove gd dependency from simple disputes * fix clippy * use appealed outcomes for global dispute * fix tests and benchmarks * modify appeal bond formula * remove slash percentages * test default toolchain * benchmark court * Update zrml/court/src/types.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/types.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/mock_storage.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/tests.rs Co-authored-by: Malte Kliemann <[email protected]> * Update zrml/court/src/tests.rs Co-authored-by: Malte Kliemann <[email protected]> * periods to round timing, modify tests * modify doc comments * use onunbalanced * improve RequestInterval documentation * improve consumed_stake documentation * remove court from filter * add treasury to court * correct errors * update comment * update get_pool_item comment * update get_pool_item comment * comment juror pool * improve doc comments * cargo fmt * rename constants * edit court pallet doc * update tests * rename secret to commitment * make commit reveal failsafer * outsource commitment function * Update scripts/tests/misc.sh * update doc comments * merge punish tardy jurors reassign juror stakes * outsource get_n_random_numbers * correct logs * rename default to get * improve extrinsic comments * simplify choose_multiple_weighted * improve naming * remove back_global_dispute * unlock jurors from last draws * improve error description * shorten mock periods * document private functions * add assert to check max appeals * add stake to juror joined event * correct test * improve test * update reassigned event comment * correct test * add assert check * improve tests for draws * add reveal vote invalid salt fails test * denounce slash inside reassign_juror_stakes * improve test readibility * rename periods to cycle_ends * add select jurors test * change randomness source in court tests * fix clippy * imrpove tests * remove cccount lookup in tests * improve test setup * add API tests, add missing unlockings * add full cycle court tests * remove invalid test * add missing WeightInfo * add inflation inside court * improve benchmarking and testing * add integrity_test * Update zrml/simple-disputes/src/mock.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/simple-disputes/src/mock.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/prediction-markets/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * add doc string * add doc strings * Reduce settle_bonds LOC * cargo fmt * Update zrml/prediction-markets/src/migrations.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/prediction-markets/src/migrations.rs Co-authored-by: Harald Heckmann <[email protected]> * apply review suggestion * add GDItem integration * add delegations * improve code structure * fix benchmarks * optimize logic * add correct mdm benchmarking on_dispute * use on_dispute_weight inside api * improve mdm weight technique * add mdm weights to on_resolution * add tests for pm * modify migration logs, fix try-runtime * adjust tests for binary search * improve benchmarking * do small change * little benchmark fix * Update zrml/authorized/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/authorized/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * use result with weight struct * improve code * update benchmark and weights * improve dispute api weight system * test delegations for reassign * correct benchmarks and test * remove comment * add API benchmarks * update weights * use generic vote item instead of outcome report * update to court id and generic court * fix stuff and add documentation * add court readme, use new parameters * improve naming, weighting * Use accurate dispute weight instead of max * take random ranges without replacement * add start_global_dispute tests * add test * fix typo * switch get_random_number algo * integrate court and reject simple disputes * update start_global_dispute bench * fix clippy * use efficient draw without replacement algorithm * small edits * round to min juror stake, use other draw algo * use partial fisher yates algorithm * improve naming and comments * update changelog for devs * improve dispute api documentation * correct call filters * add copyright notice * remove is_outcome and is_binary * remove unnecessary "Court" prefix * update copyright notices * remove front end comment * Update zrml/court/README.md Co-authored-by: Malte Kliemann <[email protected]> * npx prettier court readme * improve style of terminology * update readme * remove unnecessary impl block * update comment * remove todo * make reward_pot package private * Update zrml/court/src/lib.rs Co-authored-by: Malte Kliemann <[email protected]> * update integrity test * improve join court doc * improve extrinsic documentation * update delegate doc * make some types package private * fix struct comment * update readme * update readme * remove commitment matcher * fix doc string * remove unnecessary error * improve import * improve test case * fix inflation misbehaviour * improve round timing structure * improve error names * fix get_valid_delegated_juror * remove wrong break * update weight for select jurors * allow rejoin after exit preparation * remove unnecessary apis * improve naming and docs * fix clippy * correct migrations * fix copyrights * fmt * fix clippy * fix copyrights * update changelog for devs * Update runtime/common/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/court/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * comment benchmark components * comment benchmark component * Update zrml/court/README.md Co-authored-by: Harald Heckmann <[email protected]> * add terminology for court * Update zrml/prediction-markets/src/benchmarks.rs Co-authored-by: Harald Heckmann <[email protected]> * restructure import * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * use mul_floor and reduce indentation * safe guard inflation emission * use imbalance for minting * use saturated div * logging if inflation period mint too high * fix after merge * update changelog for devs * use imperative * fmt * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * reduce court InflationPeriod for Battery Station * Update zrml/court/src/lib.rs Co-authored-by: Harald Heckmann <[email protected]> * fmt * fix tests * fix issue tokens without burn * remove unnecessary error return * Update Makefile * allow equal amount to previous stake --------- Co-authored-by: Malte Kliemann <[email protected]> Co-authored-by: Harald Heckmann <[email protected]> * activate court and GD on battery station * bump storage version of market commons * Update runtime/zeitgeist/src/lib.rs * Update runtime/zeitgeist/src/lib.rs * Revert "Reduce runtime test dependencies by half" This reverts commit fe589a5. * Update weight templates * Use header option for benchmarks Also format benchmark script and moves header file into HEADER_GPL3. * Update rust-toolchain * Satisfy clippy * Use patched wasm-builder for new rustc * Format * Update licenses --------- Co-authored-by: Harald Heckmann <[email protected]> Co-authored-by: Malte Kliemann <[email protected]>
- Loading branch information