Comments (4)
Commit 64aa222 implements the foundations for the upcoming medium level abstractions inspired by Fleetwood.
Visit https://github.com/Robbepop/pdsl/tree/master/model/examples for some not yet completely working examples. Note that this is very experimental and very unstable.
Visit https://github.com/Robbepop/pdsl/tree/master/model/ for a general overview of the new crate.
from ink.
Commit 1d9bb5f and the few previous implement some of the final things that have been missing. This represents a very raw and still majorly untested implementation of the Fleetwood abstractions.
Also they are not recommended to be used since they lack proper compile-time functionality for critical parts and still do not produce automatic message selectors; instead the user has to define them themselves which is far from an optimal user experience.
from ink.
Some future enhancements:
- Only flush the state if the called message was possibly mutating it. So calling a message that was not registered as
mut
shall not require to flush the state after its call. Note that this is already done halfway through thepdsl_core
since it will itself only flush state that could have been possibly mutated. However, in thepdsl_model
we can still optimize this to avoid the call toflush
in statically.
from ink.
Since all of this has been implement long ago and is considered to be stable (enough) I am going to close this now.
from ink.
Related Issues (20)
- Allow E2E testing with live-chain state
- Default accounts addresses do not match across integration and e2e tests.
- The function `set_contract_storage` in integration test it's missing a size check.
- Linter: Unprotected `terminate_contract`
- Linter: Unprotected `DelegateCall` call
- Immutable contracts allowed to change state via `env` HOT 4
- Add a lint for missing `no_main`
- IIP-3: Allow messages without `&self` receiver; opt out of automatic storage loading HOT 5
- Different gas value for `weight_to_fee()` in ink! integration and e2e tests HOT 6
- Split up `ink_linting` into two `dylint` libraries HOT 1
- Use standard Github's machines for test jobs
- Linter: Warn about using non-fallible APIs for `Lazy` and `Mapping` HOT 1
- Support expressions for `extension` and `function` during chain extension definition
- Event defintions with generics
- Deprecation of "legacy" inline events HOT 1
- Unify `call-runtime` and `e2e-call-runtime` examples
- Linter: Dangereous `self.env().transferred_value()` pattern
- Linter: Divide before multiply
- Add support and integration test for `caller_is_root`
- Migrate ink! CI from organization runners to standard GitHub runners
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 ink.