Add constructor functions for use by cw-sdk #1558
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As pointed out by #1552, two query response types (
bank::SupplyResponse
andwasm::ContractInfoResponse
) are marked as#[non_exhaustive]
and thus cannot be constructed directly.This is not a problem for wasmd, as they are created by deserialization. However for cw-sdk I do need to construct these responses in Rust code.
Simply adding a
new
function is not a satisfactory solution, as @webmaster128 pointed out, we would not be able to add new fields to the response type without changing the function signature.The solution I'm going with here is to add an option
cw_sdk
feature, and the constructor functions only exist ifcw_sdk
feature is enabled.