• Shawn Tabrizi's avatar
    Harden XCM v1 for Recursions (#3586) · 9ee8013d
    Shawn Tabrizi authored
    
    
    * Guard against XCM recursive bombs by setting a recursion limit
    
    * Add test and set a lower recursion limit
    
    * Use u32 instead of usize for recursion limit
    
    * Make spellcheck happy
    
    * Cargo fmt
    
    * Limit XCM decoding depth in UMP message processing
    
    * Modify test to check for recursion in BuyExecution
    
    * Update xcm/xcm-simulator/example/src/lib.rs
    
    Co-authored-by: default avatarKian Paimani <[email protected]>
    
    * Make cargo fmt happy
    
    * WIP for testing recursion limit in WASM
    
    * Revert "WIP for testing recursion limit in WASM"
    
    This reverts commit 39181b46d1adf79358f5ae8aafcf480e0c0c22e6.
    
    * Remove XCM recursion limit test
    
    * Add recursion test for XCM message execution
    
    * Set a more sensible recursion limit
    
    * Cargo fmt
    
    * Implement successful_origin for benchmarks
    
    * Set recursion limit to 8 and create integration tests directory for xcm-executor
    
    * Cargo fmt
    
    * Add runtime-benchmarks feature to test-runtime
    
    * Give up creating ConvertOriginToLocal and use EnsureXcm
    
    * Re-add ConvertOriginToLocal
    
    * Fix compilation
    
    * Update xcm/xcm-executor/src/lib.rs
    
    Co-authored-by: default avatarGavin Wood <[email protected]>
    
    * Add decoding limit to all versioned XCM decode calls
    
    * Fix recursion limit test
    
    * Set a lower recursion count for recursion test
    
    * move integration tests to their own folder, fix recursion check in execute_effects
    
    * Remove xcm-executor integration tests directory
    
    * fix up
    
    * Update Cargo.lock
    
    * Update runtime/parachains/src/ump.rs
    
    * use proper decode limit
    
    * fix decode depth limit
    
    * here too
    
    * Update traits.rs
    
    * fix compile
    
    * fix test
    
    * Revert `decode_all_with_depth_limit` changes in parachain.rs
    
    * Remove unused imports in parachain.rs
    
    Co-authored-by: default avatarKeith Yeung <[email protected]>
    Co-authored-by: default avatarKian Paimani <[email protected]>
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    Co-authored-by: default avatarGavin Wood <[email protected]>
    9ee8013d