Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Make most XCM APIs accept an Into<MultiLocation> where MultiLocation is accepted #3627

Merged
18 commits merged into from
Sep 29, 2021

Conversation

KiChjang
Copy link
Contributor

@KiChjang KiChjang commented Aug 11, 2021

This PR makes it so that users do not need to sweat the details of constructing a MultiLocation object when using APIs like send_xcm or execute_xcm by allowing for syntax such as the following:

send_xcm(Parent, ...);
execute_xcm((1, Parachain(id.into())), ...);

A slight issue that this may introduce is that trait functions that now accept impl Into<MultiLocation> would now make its containing trait not be object-safe, since these functions are now generic. In practical terms, this means a type that implements e.g. SendXcm cannot be typecasted into a Box<dyn SendXcm> or a &dyn SendXcm anymore.

@KiChjang KiChjang added A0-please_review Pull request needs code review. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D3-trivial 🧸 PR contains trivial changes in a runtime directory that do not require an audit. labels Aug 11, 2021
@KiChjang
Copy link
Contributor Author

bot merge

@ghost
Copy link

ghost commented Sep 29, 2021

Trying merge.

@ghost ghost merged commit cc24fb8 into master Sep 29, 2021
@ghost ghost deleted the kckyeung/impl-multilocation branch September 29, 2021 23:24
ordian added a commit that referenced this pull request Sep 30, 2021
* master: (52 commits)
  Companion for substrate PR#9890 (#3961)
  Bump version, tx_version and spec_version in prep for v0.9.11 (#3970)
  Fix master compilation (#3977)
  Make most XCM APIs accept an Into<MultiLocation> where MultiLocation is accepted (#3627)
  fix disputes tests (#3974)
  Drop availability only for candidates that lose disputes (#3973)
  revert +1 change to be on the safer side (#3972)
  paras_inherent: reject only candidates with concluded disputes (#3969)
  feat: measured oneshots (#3902)
  remove `AllSubsystems` and `AllSubsystemsGen` types (#3874)
  Companion for Substrate#9867 (#3938)
  Substrate Companion for #9552 (#3834)
  CI: run disputes tests (#3962)
  Bump parity-scale-codec from 2.3.0 to 2.3.1 (#3959)
  approval-voting: populate session cache in advance (#3954)
  Bump libc from 0.2.102 to 0.2.103 (#3950)
  fix master (#3955)
  Docker files chore (#3880)
  Bump nix from 0.19.1 to 0.20.0 (#3587)
  remove connected disconnected state, 3rd attempt (#3898)
  ...
ordian added a commit that referenced this pull request Oct 3, 2021
* master: (72 commits)
  change genesis authority set for wococo-local, revert rococo-local (#3998)
  ignore irrelevant approvals in logs (#3859)
  avoid expect, on free availability core (#3994)
  preserve finalized block in active leaves (#3997)
  some tweaks to rococo-local (#3996)
  always broadcast tranche 0 assignments and add a delay before approval (#3904)
  Tidy up XCM errors in preparation for v2. (#3988)
  add disputes call to Rococo (#3993)
  Fix an off-by-one: revert rather than revert-to (#3991)
  add logs to relay chain selection (#3990)
  av-store: clean up StoreAvailableData message (#3984)
  add polkadot-simnet runner (#3985)
  Remove incorrect proof about Jemalloc (#3982)
  add new rococo chainspec (#3976)
  bump async-std's version to remove conflict for substrate (#3981)
  gossip-support: set last_session_index earlier (#3978)
  Companion for substrate PR#9890 (#3961)
  Bump version, tx_version and spec_version in prep for v0.9.11 (#3970)
  Fix master compilation (#3977)
  Make most XCM APIs accept an Into<MultiLocation> where MultiLocation is accepted (#3627)
  ...
This pull request was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-please_review Pull request needs code review. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D3-trivial 🧸 PR contains trivial changes in a runtime directory that do not require an audit.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants