-
Notifications
You must be signed in to change notification settings - Fork 14
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
Add impl From<VARIANTS> for Contract{Exec,Query,Sudo}Msg #376
Comments
Those impls could be there, but we do not generate them as eventually, those messages should never need to be created directly, the user should create them with #130. |
Main reason for this task was to simplify generating Now instead of this: let msg = cw20_base::contract::ContractExecMsg::Minting(cw20_minting::sv::Cw20MintingExecMsg::Mint {
recipient: mock.sender.to_string(),
amount: 150_000u128.into(),
}); We can build the already serialized use cosmwasm_std::WasmMsg
use cw20_base::contract::ContractExecMsg;
use cw20_minting::sv::Executor;
use sylvia::types::Remote;
let remote: Remote<ContractExecMsg> = Remote::new("contract_address");
let msg: WasmMsg =
remote.executor()
.with_funds(vec![coin(2345, "atom")])
.mint(mock.sender.to_string(), 150_000u128.into())?
.build(); |
Since the issue is still valid, it will be solved in #391, merged to main and released in |
This is needed for full cw-orch codegen support #374 but is actually independent of cw-orch and could be a useful helper in any case. In order to explain what I request, I will use the cw20_base contract from the sylvia repo as an example. If we look at
cw20_base::contract::sv::ContractExecMsg
, the codegen is:Thanks to the regular generation of Sylvia code, this is always equivalent to:
You cannot implement the from on those associated types without the compiler yelling at you about conflicting From implementations. So the second version is much easier to work with. Given that, I would like Sylvia to generate the following implementations:
And of course the same for
*QueryMsg
and*SudoMsg
as well. This will allow easier programmatic usage of the concrete dispatched types for those "going under the hood" of Sylvia a bit. Again,cw-orch
has this concrete need, but I don't see the issue of adding this code in general, not under any feature flag. An implementation to generate the last item could be found in #375. Generating the From for the interface messages was harder and lead to the stack overflow issue.Note: Requested for the
cosmwasm-1.x
branch (and ported to / backported from main)Pinging @jawoznia for your thoughts here
The text was updated successfully, but these errors were encountered: