-
Notifications
You must be signed in to change notification settings - Fork 14
Adding per-message conditions and executing custom warp account messages via jobs #76
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
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 entiretxfail if not respected.The
msgsfield remains aString(for backwards compatibility), however there are substantial changes in theHydrateMsgsquery ofresolver:msgasStringis 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
conditionis provided, it deserliazed toConditionand and checks whether they are met. If not met, the message is skipped.The
msgmust be a stringified version of the following enum:hydrationpart ofvariablesin message remained the same;Vec<CosmoMsg>but aVec<WarpMsg>, which allows to manage any type of message thatWarpwants to manage other than asComsosMsgdirectly (such as theIbcTransfer);jobthat still uses theCosmosMsgdirectly, this is wrapped at the end of hydration asWarpMsg::Generic(msg as CosmosMsg);controllerreturns an error reverting the tx (and therefore allowing the keepers during the simulation to skip the execution of this job);ExecuteMsghas been added for thewarp accountwhich allows to execute aVec<WarpMsg>, thus storing the value and returning it directly theCosmosMsgonWarpMsg::Generic, otherwise theIbcTransferis created by using the functions already present.With this setting is possible to add other custom messages for the
warp accountwhere theCosmosMsgis not enough.