Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZIP-0 Part II #938

Merged
merged 69 commits into from
May 16, 2023
Merged

Conversation

Chralt98
Copy link
Member

@Chralt98 Chralt98 commented Jan 9, 2023

This is a continuation of #862.

  • move prediction-markets functionality to simple-disputes for multiple disputes
    • add reserve_outcome extrinsic to simple-disputes, which contains the moved parts from the previous pm-pallet
  • remove outcome parameter of dispute extrinsic
  • allow the flow of funds to the MDMs
  • allow only to dispute once in the pm-pallet
  • save DisputeBond inside the market storage
    • is slashed when the dispute was not justified (oracle report == resolved outcome by the MDM) otherwise returned
    • the one who disputed gets the OracleBond, if the resolved outcome by the MDM is not equal to the oracle report
  • start a global dispute only after a MDM failed
    • currently only works for simple-disputes when MaxDisputes reached

Includes migrations:

  • for authorized use the first dispute value inside pm Disputes to save this in storage as the market.bonds.dispute
  • add dispute field to the market bonds storage
  • change the reserve identifier from pm-pallet to simple-disputes pallet only for the bonds of simple-disputes
  • move all old dispute bonds information (who, value) from pm Disputes to sd Disputes
  • add Disputes storage item inside simple-disputes and move the data from Disputes of the pm-pallet to the storage item of the simple-disputes pallet

TODO:

  • remove the old Disputes storage item inside the pm-pallet after the migration was processed
  • remove the old storage structures from the pm-pallet

Appendix:

  • there is no market.bonds.dispute value stored for simple-disputes, because the bonds are stored inside Disputes of simple-disputes
    • this is no problem, since we don't error when the bond only gets slashed or unreserved after the existence check
  • the court mechanism is completely ignored since it has no items stored in storage which are relevant for this PR

@Chralt98 Chralt98 added the s:in-progress The pull requests is currently being worked on label Jan 9, 2023
@Chralt98 Chralt98 added this to the v0.3.9 milestone Jan 9, 2023
@Chralt98 Chralt98 self-assigned this Jan 9, 2023
@Chralt98 Chralt98 added i:spec-changed ⚠️ Implies change in spec version i:transactions-changed ⚠️ Implies change in transaction version labels Jan 9, 2023
zrml/prediction-markets/src/lib.rs Outdated Show resolved Hide resolved
zrml/prediction-markets/src/lib.rs Outdated Show resolved Hide resolved
zrml/prediction-markets/src/lib.rs Outdated Show resolved Hide resolved
zrml/simple-disputes/src/lib.rs Outdated Show resolved Hide resolved
zrml/simple-disputes/src/lib.rs Outdated Show resolved Hide resolved
@Chralt98
Copy link
Member Author

Chralt98 commented Jan 17, 2023

I would like to merge #903 before this PR! Because this allows me to easily modify the storage migration (added OutsiderBond and wrote a migration for this). In addition the bond handling is different on #903 which needs to be merged with my current implementation.

@codecov-commenter
Copy link

codecov-commenter commented Jan 17, 2023

Codecov Report

Merging #938 (88a43dd) into main (4f960a3) will increase coverage by 0.13%.
The diff coverage is 92.62%.

📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more

@@            Coverage Diff             @@
##             main     #938      +/-   ##
==========================================
+ Coverage   94.39%   94.53%   +0.13%     
==========================================
  Files          93       95       +2     
  Lines       21060    21564     +504     
==========================================
+ Hits        19880    20385     +505     
+ Misses       1180     1179       -1     
Flag Coverage Δ
tests 94.53% <92.62%> (+0.13%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
zrml/authorized/src/mock.rs 43.54% <ø> (+6.04%) ⬆️
zrml/court/src/mock.rs 36.20% <ø> (+2.87%) ⬆️
zrml/market-commons/src/tests.rs 100.00% <ø> (ø)
zrml/prediction-markets/src/mock.rs 78.98% <ø> (ø)
zrml/court/src/lib.rs 81.46% <43.47%> (-5.95%) ⬇️
zrml/authorized/src/lib.rs 84.67% <71.87%> (-0.09%) ⬇️
primitives/src/market.rs 71.87% <80.00%> (+0.44%) ⬆️
zrml/simple-disputes/src/lib.rs 88.88% <89.69%> (+11.11%) ⬆️
zrml/prediction-markets/src/migrations.rs 91.73% <95.35%> (+4.42%) ⬆️
zrml/prediction-markets/src/lib.rs 90.39% <97.10%> (-0.09%) ⬇️
... and 64 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@Chralt98
Copy link
Member Author

After the merge from main into this branch, I currently can't get the try-runtime tests running because of the HTTP 429 too many requests error. Using your suggestion with --no-spec-name-check it works to get further. Thanks for that.

Additionally I had to do the following:

  • removed a log warning for the case that we found an authorized market, but without a dispute (this warning was placed wrongly)
  • decremented the PREDICTION_MARKETS_REQUIRED_STORAGE_VERSION for the current on-chain version

Shall I commit the addition of --no-spec-name-check?

7ab62c4

I noted these down:

  • start_global_disputes() -> check not already started -> check market is reported
  • get_resolved_outcome() -> Does use disputed outcome or if not available reported outcome

Let me do these once we remove the with-global-dispute feature inside the court PR.

@Chralt98 Chralt98 requested a review from sea212 April 18, 2023 13:10
Copy link
Member

@sea212 sea212 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Benchmark improved
  • Try-runtime works
  • General design improvement issue created
  • PM tests extended

Shall I commit the addition of --no-spec-name-check?

No, we should leave it out as the makefile target is called during runtime releases, where the --no-spec-name-check is important.

Once the remaining review comments are addresses I am ready to approve.

}

#[derive(Default)]
pub enum MDMWeight<MarketId, AccountId, Balance, BlockNumber, Moment, Asset> {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the purpose of this? It seems to me that it over-complicates things. What is the benefit of having this structure instead of just providing the function parameters directly to the respective functions, i.e. the parameters of <function>_weight and <function> are equal.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What would you specify as default weight in the #[pallet::weight()] macro? It doesn't seem easy to put the market id and market inside there.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It depends on what the benchmarks depend on. I would do the following: All the parameters are optional. If a parameter is None, it's maximum value is used. Otherwise the value provided is used.
I think the following approach would make even more sense:

  1. Every function in the DisputeApi returns ResultWithWeightInfo.
  2. Every function in the DisputeApi has a function maximum_weight

The functions of step 2 are used to determine the default weight in #[pallet::weight()], the functions of step 1 are used within the actual execution of the dispatchable (inside PM) to retrieve the result and the actual weight that is used to correct the weight later down the road.
To keep things tidy, it might make sense to create an additional Api for the worst-case weights.
What do you think about this? I am open to discuss it to find the best approach.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

zrml/authorized/src/benchmarks.rs Outdated Show resolved Hide resolved
zrml/authorized/src/benchmarks.rs Outdated Show resolved Hide resolved
zrml/authorized/src/benchmarks.rs Outdated Show resolved Hide resolved
zrml/prediction-markets/src/lib.rs Outdated Show resolved Hide resolved
zrml/prediction-markets/src/migrations.rs Show resolved Hide resolved
@Chralt98 Chralt98 requested a review from sea212 April 20, 2023 06:07
@sea212 sea212 requested a review from maltekliemann May 3, 2023 12:56
Copy link
Contributor

@maltekliemann maltekliemann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Last few points (please fix if it's possible without too many changes):

  • Changelog entry is missing. You'll have to merge main into the RC branch and then into this branch to get the newest version of the changelog.
  • We decided to get rid of simple-disputes. Why don't we do that here (@sea212)? See discussion on discord.
  • Licenses need to be updated.

log::info!(
"AddOutsiderAndDisputeBond: Market Counter post-upgrade is {}!",
new_market_count
);
assert!(new_market_count > 0);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this was supposed to check that the old and new market counts are the same?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

assert_eq!(old_markets.len(), new_market_count);

This assert is above the other checks. assert!(new_market_count > 0); was meant to check that we actually found markets for <zrml_market_commons::Pallet<T>>::market_iter().count() (the new market structure).

zrml/prediction-markets/src/migrations.rs Outdated Show resolved Hide resolved
@Chralt98 Chralt98 requested a review from maltekliemann May 15, 2023 14:17
@Chralt98 Chralt98 added s:accepted This pull request is ready for merge and removed s:review-needed The pull request requires reviews labels May 16, 2023
@Chralt98 Chralt98 merged commit fddeb1b into release-dispute-system May 16, 2023
@Chralt98 Chralt98 deleted the chralt98-dispute-restructuring branch May 16, 2023 09:30
Chralt98 added a commit that referenced this pull request Aug 26, 2023
* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
i:spec-changed ⚠️ Implies change in spec version i:transactions-changed ⚠️ Implies change in transaction version s:accepted This pull request is ready for merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants