-
Notifications
You must be signed in to change notification settings - Fork 690
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
asset-rate pallet: box asset kind parameter #1545
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are some un-needed clones, but looking good in general.
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
@ggwpez can you look again please. |
probably better to have separate PR for the traits |
Historically the converters use instances and not references, eg like in the |
@ggwpez reverted |
@ggwpez can you reapprove if looks good, I did reset the previous approve from you. |
This pull request has been mentioned on Polkadot Forum. There might be relevant details there: https://forum.polkadot.network/t/polkadot-release-analysis-v1-2-0/4451/1 |
The `AssetKind` type parameter of a dispatchable, defined by the user, might be large — like `xcm::MultiLocation`. To prevent inflating the size of the `Call` type, we `Box` it. This changes required for paritytech#1333 --------- Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
…tytech#1545) * generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
* generated_message_details() -> Simplifications - avoid using a HashMap for `messages_to_refine`. It seems that a vec is enough - minimize the number of conversions between `OutboundMessageDetails` and `MessageDetails` - use references where possible in order to minimize the number of intermediary Vecs - simplify `make_message_details_map()` logic, reduce its scope and rename it to `validate_out_msgs_details()` Signed-off-by: Serban Iorga <serban@parity.io> * Define typed_state_call() Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with single messages Signed-off-by: Serban Iorga <serban@parity.io> * Call To*InboundLaneApi::message_details() with batched messages Signed-off-by: Serban Iorga <serban@parity.io> * validate_out_msgs_details() -> change check * Define split_msgs_to_refine() Signed-off-by: Serban Iorga <serban@parity.io> Signed-off-by: Serban Iorga <serban@parity.io>
The
AssetKind
type parameter of a dispatchable, defined by the user, might be large — likexcm::MultiLocation
. To prevent inflating the size of theCall
type, weBox
it.This changes required for #1333