Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discoverability and versioning for transacting #22

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

gavofyork
Copy link
Contributor

No description provided.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@xlc
Copy link
Contributor

xlc commented Mar 12, 2021

Should we have a Query/QueryResponse message with version: (u32, u32), keys: Vec<u8> to query storage from a pallet? The storage / key encode will be done on sender side (and semvar ensures compatibility). The dest chain just need to check compatibility and add pallet prefix and response the storage.

README.md Outdated Show resolved Hide resolved
@h4x3rotab
Copy link

Should we have a Query/QueryResponse message with version: (u32, u32), keys: Vec<u8> to query storage from a pallet? The storage / key encode will be done on sender side (and semvar ensures compatibility). The dest chain just need to check compatibility and add pallet prefix and response the storage.

Maybe also add another Query to get the state root of the remote parachain, so that we can verify any storage item at a certain block height locally.

@yrong
Copy link

yrong commented May 17, 2021

@xlc I just did some test to invoke transact xcm and face the same challenge you mentioned here

Is there any progress for this issue or what is the safe way to invoke relay chain callable function from parachain side?

@apopiak
Copy link

apopiak commented Jun 24, 2021

This does not discuss how to get information on the execution of a regular XCM. (e.g. DepositAsset)
Is this out of scope?
I imagine chains and users would want to get an indication about the execution status of an XCM.
Is the plan for users (or their frontend client) to monitor the target chain for execution status?

@gavofyork
Copy link
Contributor Author

This does not discuss how to get information on the execution of a regular XCM. (e.g. DepositAsset)
Is this out of scope?
I imagine chains and users would want to get an indication about the execution status of an XCM.
Is the plan for users (or their frontend client) to monitor the target chain for execution status?

The contents of this PR has nothing to do with regular XCM.

@gavofyork gavofyork changed the title Stuff to allow for safe dispatching between chains Discoverability and versioning for dispatching between chains Oct 1, 2021
@gavofyork gavofyork changed the title Discoverability and versioning for dispatching between chains Discoverability and versioning for transacting Oct 1, 2021
@olanod olanod mentioned this pull request Mar 20, 2022

Query the existence of a particular pallet type.

- `name: Vec<u8>`: The name of the pallet to query.
Copy link

@dzmitry-lahoda dzmitry-lahoda Mar 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this is not bounded vector?

- `query_id: QueryId`: The value to make the returned message identifiable with this query.
- `max_response_weight: Weight`: The value to be used for the `max_weight` field of the `QueryResponse` message.

Sends a `QueryResponse` to Origin whose data field `PalletsInfo` containing the information of all pallets on the local chain whose name is equal to `name`. This is empty in the case that the local chain is not based on Substrate Frame.
Copy link

@dzmitry-lahoda dzmitry-lahoda Mar 28, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is Substrate Frame only? or any chain supporting SCALE dispatch? That stuff is quite generic too enum(enum(origin, data)) to be be little be broader than only Substate Frame (i thin of it easy to have WS with JSON RCP which parses SCALE with no Substrate Frame)

- `index: Compact`: The index which identifies the pallet. An error if no pallet exists at this index.
- `name: Vec<u8>`: Name which must be equal to the name of the pallet.
- `module_name: Vec<u8>`: Module name which must be equal to the name of the module in which the pallet exists.
- `crate_major: Compact`: Version number which must be equal to the major version of the crate which implements the pallet.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is about exact crate version? Could it be some range (like in Rust)?

Copy link

@Dawidowak Dawidowak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants