-
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
Adding per-message conditions and executing custom warp account messages via jobs #76
base: master
Are you sure you want to change the base?
Conversation
wooo new warp contributor! welcome @Rhaki ! can you rebase your PR on top of branch |
Hey @llllllluc this is our version of that branch, the version in feature/latest_updates is not compatible with old applications working on Warp. We are building a Grid bot on top of warp that is being audited right now, we highly think that the backward compatibility is a must for a protocol like Warp that aims to give builders an easier way to build job applications on chain. Please review it and take in consideration the idea of maintaining the backward compatibility! Thank you |
I would suggest we stop building new feature on top of master branch as That is my opinion, @simke9445 please chime in |
I can also modify this branch and rebase it on top of |
While I usually agree adding braking changes on a product that should be the base for others, it's not the best route. Right now we are building a grid bot on top of Warp that is getting audited. Those changes broke our contracts on Testnet, if we'll need to develop them again we'll probably avoid Warp because the risk that braking changes will be implemented in future are too high and we surely don't want to keep changing and migrating contracts to stay up to date with Warp. Backward Compatibility should be a must for Warp and Enterprise or builders will not build on top of them |
Can you point me where your app break or describe it or paste some code? Only place i found you interact with warp is here, but this should be easily fixed and won't affect audit. We didn't make too much change on the interface of warp, we mostly change the internal stuff and that should not affect people building on top of warp. It should be simpler to build on top of warp now, cause it remove the need to create account explicitly for new users. I agree we should maintain backward compatibility but we need to balance it with improving warp, we can try updating |
The hackathon repo is not updated, right now we are creating the job for the users directly inside the contracts, to ensure a better user experience. Contracts are still closed sources, but we can invite you if you want to take a look. |
Ok please invite me, thanks! |
@llllllluc invited |
This PR mainly wants to implement two new features.
IbcTransfer
).The proposed changes are as follows:
The general
conditions
(the current ones so to speak) are nowoptional
, and make the entiretx
fail if not respected.The
msgs
field remains aString
(for backwards compatibility), however there are substantial changes in theHydrateMsgs
query ofresolver
:msg
asString
is first deserialized intoVec<serde_cw_wasm::Value>
.ComosMsg
, now a check is made whether it is a stringifiedCosmosMsg
(backwards compatibility) or a stringified json with the following rappresentation:If
condition
is provided, it deserliazed toCondition
and and checks whether they are met. If not met, the message is skipped.The
msg
must be a stringified version of the following enum:hydration
part ofvariables
in message remained the same;Vec<CosmoMsg>
but aVec<WarpMsg>
, which allows to manage any type of message thatWarp
wants to manage other than asComsosMsg
directly (such as theIbcTransfer
);job
that still uses theCosmosMsg
directly, this is wrapped at the end of hydration asWarpMsg::Generic(msg as CosmosMsg)
;controller
returns an error reverting the tx (and therefore allowing the keepers during the simulation to skip the execution of this job);ExecuteMsg
has been added for thewarp account
which allows to execute aVec<WarpMsg>
, thus storing the value and returning it directly theCosmosMsg
onWarpMsg::Generic
, otherwise theIbcTransfer
is created by using the functions already present.With this setting is possible to add other custom messages for the
warp account
where theCosmosMsg
is not enough.