Different XCM builders, default one requires fee payment (#2253)
Adding on top of the new builder pattern for creating XCM programs, I'm adding some more APIs: ```rust let paying_fees: Xcm<()> = Xcm::builder() // Only allow paying for fees .withdraw_asset() // First instruction has to load the holding register .buy_execution() // Second instruction has to be `buy_execution` .build(); let paying_fees_invalid: Xcm<()> = Xcm::builder() .withdraw_asset() .build(); // Invalid, need to pay for fees let not_paying_fees: Xcm<()> = Xcm::builder_unpaid() .unpaid_execution() // Needed .withdraw_asset() .deposit_asset() .build(); let all_goes: Xcm<()> = Xcm::builder_unsafe() // You can do anything .withdraw_asset() .deposit_asset() .build(); ``` The invalid bits are because the methods don't even exist on the types that you'd want to call them on. --------- Co-authored-by: command-bot <>
parent
b25d29a5
Pipeline
#416487
failed
with stages
in
3 hours, 17 minutes, and 58 seconds
Stage:
Stage:
Stage:
Stage:
Stage:
Stage:
Showing
- Cargo.lock 1 addition, 0 deletionsCargo.lock
- polkadot/xcm/procedural/Cargo.toml 1 addition, 0 deletionspolkadot/xcm/procedural/Cargo.toml
- polkadot/xcm/procedural/src/builder_pattern.rs 255 additions, 32 deletionspolkadot/xcm/procedural/src/builder_pattern.rs
- polkadot/xcm/procedural/src/lib.rs 5 additions, 1 deletionpolkadot/xcm/procedural/src/lib.rs
- polkadot/xcm/procedural/tests/builder_pattern.rs 81 additions, 0 deletionspolkadot/xcm/procedural/tests/builder_pattern.rs
- polkadot/xcm/procedural/tests/ui.rs 1 addition, 1 deletionpolkadot/xcm/procedural/tests/ui.rs
- polkadot/xcm/procedural/tests/ui/builder_pattern/badly_formatted_attribute.rs 32 additions, 0 deletions...ral/tests/ui/builder_pattern/badly_formatted_attribute.rs
- polkadot/xcm/procedural/tests/ui/builder_pattern/badly_formatted_attribute.stderr 5 additions, 0 deletions...tests/ui/builder_pattern/badly_formatted_attribute.stderr
- polkadot/xcm/procedural/tests/ui/builder_pattern/buy_execution_named_fields.rs 30 additions, 0 deletions...al/tests/ui/builder_pattern/buy_execution_named_fields.rs
- polkadot/xcm/procedural/tests/ui/builder_pattern/buy_execution_named_fields.stderr 5 additions, 0 deletions...ests/ui/builder_pattern/buy_execution_named_fields.stderr
- polkadot/xcm/procedural/tests/ui/builder_pattern/loads_holding_no_operands.rs 32 additions, 0 deletions...ral/tests/ui/builder_pattern/loads_holding_no_operands.rs
- polkadot/xcm/procedural/tests/ui/builder_pattern/loads_holding_no_operands.stderr 6 additions, 0 deletions...tests/ui/builder_pattern/loads_holding_no_operands.stderr
- polkadot/xcm/procedural/tests/ui/builder_pattern/no_buy_execution.rs 29 additions, 0 deletions...m/procedural/tests/ui/builder_pattern/no_buy_execution.rs
- polkadot/xcm/procedural/tests/ui/builder_pattern/no_buy_execution.stderr 6 additions, 0 deletions...ocedural/tests/ui/builder_pattern/no_buy_execution.stderr
- polkadot/xcm/procedural/tests/ui/builder_pattern/no_unpaid_execution.rs 29 additions, 0 deletions...rocedural/tests/ui/builder_pattern/no_unpaid_execution.rs
- polkadot/xcm/procedural/tests/ui/builder_pattern/no_unpaid_execution.stderr 6 additions, 0 deletions...dural/tests/ui/builder_pattern/no_unpaid_execution.stderr
- polkadot/xcm/procedural/tests/ui/builder_pattern/unexpected_attribute.rs 32 additions, 0 deletions...ocedural/tests/ui/builder_pattern/unexpected_attribute.rs
- polkadot/xcm/procedural/tests/ui/builder_pattern/unexpected_attribute.stderr 5 additions, 0 deletions...ural/tests/ui/builder_pattern/unexpected_attribute.stderr
- polkadot/xcm/procedural/tests/ui/builder_pattern/unpaid_execution_named_fields.rs 30 additions, 0 deletions...tests/ui/builder_pattern/unpaid_execution_named_fields.rs
- polkadot/xcm/procedural/tests/ui/builder_pattern/unpaid_execution_named_fields.stderr 5 additions, 0 deletions...s/ui/builder_pattern/unpaid_execution_named_fields.stderr
Please register or sign in to comment