• Gavin Wood's avatar
    Deprecate `Currency`; introduce holds and freezing into `fungible` traits (#12951) · 5d81f23f
    Gavin Wood authored
    
    
    * First reworking of fungibles API
    
    * New API and docs
    
    * More fungible::* API improvements
    
    * New ref-counting logic for old API
    
    * Missing files
    
    * Fixes
    
    * Use the new transfer logic
    
    * Use fungibles for the dispatchables
    
    * Use shelve/restore names
    
    * Locking works with total balance.
    
    * repotting and removal
    
    * Separate Holds from Reserves
    
    * Introduce freezes
    
    * Missing files
    
    * Tests for freezing
    
    * Fix hold+freeze combo
    
    * More tests
    
    * Fee-free dispatchable for upgrading accounts
    
    * Benchmarks and a few fixes
    
    * Another test
    
    * Docs and refactor to avoid blanket impls
    
    * Repot
    
    * Fit out ItemOf fully
    
    * Add events to Balanced traits
    
    * Introduced events into Hold traits
    
    * Fix Assets pallet tests
    
    * Assets benchmarks pass
    
    * Missing files and fixes
    
    * Fixes
    
    * Fixes
    
    * Benchmarks fixes
    
    * Fix balance benchmarks
    
    * Formatting
    
    * Expose fungible sub modules
    
    * Move NIS to fungible API
    
    * Fix broken impl and add test
    
    * Fix tests
    
    * API for `transfer_and_hold`
    
    * Use composite APIs
    
    * Formatting
    
    * Upgraded event
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Repot tests and some fixed
    
    * Fix some bits
    
    * Fix dust tests
    
    * Rename `set_balance`
    
    - `Balances::set_balance` becomes `Balances::force_set_balance`
    - `Unbalanced::set_balance` becomes `Unbalances::write_balance`
    
    * becomes
    
    * Move dust handling to fungibles API
    
    * Formatting
    
    * Fixes and more refactoring
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Use reducible_balance for better correctness on fees
    
    * Reducing hold to zero should remove entry.
    
    * Add test
    
    * Docs
    
    * Update frame/support/src/traits/tokens/fungibles/hold.rs
    
    Co-authored-by: default avatarMuharem Ismailov <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungibles/regular.rs
    
    Co-authored-by: default avatarMuharem Ismailov <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungible/hold.rs
    
    Co-authored-by: default avatarMuharem Ismailov <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungible/regular.rs
    
    Co-authored-by: default avatarMuharem Ismailov <[email protected]>
    
    * Docs
    
    * Docs
    
    * Docs
    
    * Fix NIS benchmarks
    
    * Doc comment
    
    * Remove post_mutation
    
    * Fix some tests
    
    * Fix some grumbles
    
    * Enumify bool args to fungible(s) functions
    
    * Fix up assets and balances
    
    * Formatting
    
    * Fix contracts
    
    * Fix tests & benchmarks build
    
    * Typify minted boolean arg
    
    * Typify on_hold boolean arg; renames
    
    * Fix numerous tests
    
    * Fix dependency issue
    
    * Privatize dangerous API mutate_account
    
    * Fix contracts (@alext - please check this commit)
    
    * Remove println
    
    * Fix tests for contracts
    
    * Fix broken rename
    
    * Fix broken rename
    
    * Fix broken rename
    
    * Docs
    
    * Update frame/support/src/traits/tokens/fungible/hold.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * remove from_ref_time
    
    * Update frame/executive/src/lib.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/executive/src/lib.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Reenable test
    
    * Update frame/support/src/traits/tokens/fungibles/hold.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungible/hold.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungible/hold.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungible/hold.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/currency.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/lottery/src/tests.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungible/mod.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungible/regular.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungibles/freeze.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungible/regular.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungibles/hold.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungibles/hold.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Update frame/support/src/traits/tokens/fungibles/hold.rs
    
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    
    * Rename UnwantedRemoval to UnwantedAccountRemoval
    
    * Docs
    
    * Formatting
    
    * Update frame/balances/src/lib.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * Update primitives/runtime/src/lib.rs
    
    Co-authored-by: default avatarKeith Yeung <[email protected]>
    
    * handle_raw_dust oes nothing
    
    * Formatting
    
    * Fixes
    
    * Grumble
    
    * Fixes
    
    * Add test
    
    * Add test
    
    * Tests for reducible_balance
    
    * Fixes
    
    * Fix Salary
    
    * Fixes
    
    * Disable broken test
    
    * Disable nicely
    
    * Fixes
    
    * Fixes
    
    * Fixes
    
    * Rename some events
    
    * Fix nomination pools breakage
    
    * Add compatibility stub for transfer tx
    
    * Reinstate a safely compatible version of Balances set_balance
    
    * Fixes
    
    * Grumble
    
    * Update frame/nis/src/lib.rs
    
    Co-authored-by: default avatarKian Paimani <[email protected]>
    
    * ".git/.scripts/commands/bench/bench.sh" pallet dev pallet_balances
    
    * disable flakey tests
    
    * Update frame/balances/src/lib.rs
    
    Co-authored-by: default avatarKian Paimani <[email protected]>
    
    * Grumbles
    
    * Grumble
    
    ---------
    
    Co-authored-by: default avatarMuharem Ismailov <[email protected]>
    Co-authored-by: default avatarAlexander Theißen <[email protected]>
    Co-authored-by: default avatarAnthony Alaribe <[email protected]>
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    Co-authored-by: default avatarKeith Yeung <[email protected]>
    Co-authored-by: default avatarKian Paimani <[email protected]>
    Co-authored-by: command-bot <>
    5d81f23f