Comments (4)
Hey @andreespirela .
Can you please explain what is the potential use case?
I'm afraid that using non-standard (maybe even non-public?) plug-ins (that somehow extend the base protocol) could potentially break the contract state evaluation on endpoints, that are un-aware of such add-ons.
from warp.
Hey.
Can you please explain what is the potential use case? I'm afraid that using non-standard (maybe even non-public?) plug-ins (that somehow extend the base protocol) could potentially break the contract state evaluation on endpoints, that are un-aware of such add-ons.
We have a cache API and the idea is to be able to pass some of these functions to do some verifications to the contract. In the future, it might also be useful to create our own execution functions or utilities that users can use inside Verto.
from warp.
Hey.
Can you please explain what is the potential use case? I'm afraid that using non-standard (maybe even non-public?) plug-ins (that somehow extend the base protocol) could potentially break the contract state evaluation on endpoints, that are un-aware of such add-ons.We have a cache API and the idea is to be able to pass some of these functions to do some verifications to the contract. In the future, it might also be useful to create our own execution functions or utilities that users can use inside Verto.
I see, we will discuss this internally and will let you know soon.
from warp.
@andreespirela , as we're really having some doubts re. this feature (as mentioned previously - using some custom plugins will basically ruin the option to properly evaluate the state by any of the network participants) - one last proposal - have you considered extracting your caching API to a separate class and (with the help of a proper build process) - merge it with the contract's code?
An example of such feature is available here:
https://github.com/redstone-finance/redstone-smartweave-contracts/blob/main/src/common/ContractAdmin.ts
or here
https://github.com/redstone-finance/redstone-smartweave-contracts/blob/main/src/common/ContractInteractions.ts
These classes are then bundled into the resulting contract's source code (using esbuild's iife bundle format - https://github.com/redstone-finance/redstone-smartweave-contracts/blob/main/build.js#L11) and used within contracts like this:
https://github.com/redstone-finance/redstone-smartweave-contracts/blob/main/src/token/token.contract.ts#L139
from warp.
Related Issues (20)
- [FEATURE] Allow Warp to register other L2 TXs HOT 13
- [FEATURE] - warp-contracts-redis for caching contract state HOT 1
- [BUG] - unable to set custom contract cache when using custom arweave gateway HOT 2
- [BUG] - no prevention of proecessing duplicate interactions returned from GQL HOT 1
- [BUG]: Mismatching blockheight on evaluation HOT 1
- [BUG] Deploy Plugin: Super constructor null of anonymous class is not a constructor HOT 2
- [BUG] Silent errors using `arlocal@^v1.1.63` HOT 12
- [BUG] - readStateBatch returns null for contract with no interactions HOT 1
- [BUG] Error thrown on doReadState HOT 2
- [FEATURE] - support sortKey or blockHeight in `viewState` HOT 1
- [BUG] Frontend build error starting with version 1.4.30 HOT 3
- [BUG] Not getting latest state when reading DRE node HOT 2
- [BUG] - maxInteractionEvaluationTimeSeconds larger than Number.MAX_SAFE_INTEGER
- [BUG] Getting different state with and without using DRE node HOT 5
- [BUG] - `viewState` with `sortKey` not using proper block information HOT 2
- [BUG] In Rust WASM imports, the `__wbg_height` function expects a number but receives a string, causing a crash
- [FEATURE] Allow Optional Input Placement in Warp Contract Interactions (Tags vs. Data)
- [BUG] - Uncaught TypeError: Cannot read properties of undefined (reading 'AbortError') on web HOT 5
- [BUG] - absolute path breaking builds HOT 1
- [BUG] - Property 'handle' in type 'AbstractContractHandler<State>' is not assignable to the same property in base type 'HandlerApi<State>'.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from warp.