Skip to content
  • Anthony Alaribe's avatar
    Asset Pallet: Support repeated destroys to safely destroy large assets (#12310) · 679d2dcd
    Anthony Alaribe authored
    
    
    * Support repeated destroys to safely destroy large assets
    
    * require freezing accounts before destroying
    
    * support only deleting asset as final stage when there's no assets left
    
    * pre: introduce the RemoveKeyLimit config parameter
    
    * debug_ensure empty account in the right if block
    
    * update to having separate max values for accounts and approvals
    
    * add tests and use RemoveKeyLimit constant
    
    * add useful comments to the extrinsics, and calculate returned weight
    
    * add benchmarking for start_destroy and finish destroy
    
    * push failing benchmark logic
    
    * add benchmark tests for new functions
    
    * update weights via local benchmarks
    
    * remove extra weight file
    
    * Update frame/assets/src/lib.rs
    
    Co-authored-by: default avatarjoe petrowski <[email protected]>
    
    * Update frame/assets/src/types.rs
    
    Co-authored-by: default avatarjoe petrowski <[email protected]>
    
    * Update frame/assets/src/lib.rs
    
    Co-authored-by: default avatarjoe petrowski <[email protected]>
    
    * effect some changes from codereview
    
    * use NotFrozen error
    
    * remove origin checks, as anyone can complete destruction after owner has begun the process; Add live check for other extrinsics
    
    * fix comments about Origin behaviour
    
    * add AssetStatus docs
    
    * modularize logic to allow calling logic in on_idle and on_initialize hooks
    
    * introduce simple migration for assets details
    
    * reintroduce logging in the migrations
    
    * move deposit_Event out of the mutate block
    
    * Update frame/assets/src/functions.rs
    
    Co-authored-by: default avatarMuharem Ismailov <[email protected]>
    
    * Update frame/assets/src/migration.rs
    
    Co-authored-by: default avatarMuharem Ismailov <[email protected]>
    
    * move AssetNotLive checkout out of the mutate blocks
    
    * rename RemoveKeysLimit to RemoveItemsLimit
    
    * update docs
    
    * fix event name in benchmark
    
    * fix cargo fmt.
    
    * fix lint in benchmarking
    
    * Empty commit to trigger CI
    
    * Update frame/assets/src/lib.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * Update frame/assets/src/lib.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * Update frame/assets/src/functions.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * Update frame/assets/src/functions.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * Update frame/assets/src/functions.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * Update frame/assets/src/lib.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * Update frame/assets/src/functions.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * effect change suggested during code review
    
    * move limit to a single location
    
    * Update frame/assets/src/functions.rs
    
    Co-authored-by: default avatarjoe petrowski <[email protected]>
    
    * rename events
    
    * fix weight typo, using rocksdb instead of T::DbWeight. Pending generating weights
    
    * switch to using dead_account.len()
    
    * rename event in the benchmarks
    
    * empty to retrigger CI
    
    * trigger CI to check cumulus dependency
    
    * trigger CI for dependent cumulus
    
    * Update frame/assets/src/migration.rs
    
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    
    * move is-frozen to the assetStatus enum (#12547)
    
    * add pre and post migration hooks
    
    * update do_transfer logic to add new assert for more correct error messages
    
    * trigger CI
    
    * switch checking AssetStatus from checking Destroying state to checking live state
    
    * fix error type in tests from Frozen to AssetNotLive
    
    * trigger CI
    
    * change ensure check for fn reducible_balance()
    
    * change the error type to Error:<T,I>::IncorrectStatus to be clearer
    
    * Trigger CI
    
    Co-authored-by: default avatarjoe petrowski <[email protected]>
    Co-authored-by: parity-processbot <>
    Co-authored-by: default avatarMuharem Ismailov <[email protected]>
    Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
    679d2dcd