* Drop import_lock from client, move it into backend, impl default version via static mutex
* still need to allow depcretion because of client.backend
* additional docs
* Remove default impl of get_import_lock, impl on instances
* Bump parking_lot to 0.8.0 accross the board
* first implementation
* remove done comment
* origin done
* impl log for instance
* impl inherent for instance
* Fix wasm build + full example build
this requires parity codec implements codec for core::marker::PhantomData
* patch parity-codec link to github branch
* improve internal names and fix instance prefix
* Fix in macros
* add test modules for support
this allow to test for construct_runtime as well.
The reason to have put that in another crate is:
* if we put test in `tests/` dir of srml/support then decl_storage fails to get
srml-support access because it believes it is inside srml-support
crate and so derive access to `quote!{ crate }` but this is wrong
(and I don't see any way to prevent that, and it only bother us so I
don't think that matters that much)
* if we put test inside lib.rs then contruct_runtime cannot be used
because it call some macros that are defined with macros
(decl_outer_event and decl_outer_origin) and thus rustc complains.
* defaultinstance to its own struct to avoid errors
* enforce <T, I> for Event and Config, impl test
* add origin, log, inherent to test
* test more code generation
* basic storage test
* fix typo
* rename a few imports and field
* delete wip test in example and runtime
* change default prefix to make it backward compatible with test
* rename Instance to I and Instantiable to Instance
note: the name of generic parameter I is only enforce by decl_module!
and this could be rewritten
* doc
* clean old TODOs
* update parity-codec to 3.2
* update node impl version + builds
* fix warning
* fix unrelated grandpa test
* refactor code
* Link substrate issue tracker in panic
* Replace allocator with freeing-bump allocator
* Revert me: Panic on double allocate/free
* Revert me: Add shallow benchmark for a first impression
* Revert "Revert me: Add shallow benchmark for a first impression"
This reverts commit 5f0d4df39395eb55c9ec2d6fe1ed992533475fec.
* Revert "Revert me: Panic on double allocate/free"
This reverts commit a114df7d6cfc21d60af396ccca02e5c8205db6ce.
* Rename heap to FreeingBumpHeapAllocator
* Rename heap.rs to allocator.rs
* Use sandbox heap
* Move functions
* Move variables into constructor
* Revert "Move variables into constructor"
This reverts commit f46fa0d0cdf4ea97760ccce58003b0d33f433743.
* Remove unnecessary casts
* Add comment for new parameter
* Improve typing
* Move variables into constructor
* Avoid dynamic allocation
* Remove unused variables
* Revert "Link substrate issue tracker in panic"
This reverts commit 32dfa1d02bcf881d1d514a930fcc0fdf3c5f8e08.
In the meantime this was fixed in https://github.com/paritytech/substrate/pull/1667.
* Improve naming
* Only assert in debug mode
* Remove dynamic allocation
* Better allocator for wasm (#1460)
* Add Arch Linux installation instructions
* Enable tracing heap size
* Extract heap
* Replace linear allocator with buddy allocator
* Fix test
The purose of this big block is for the tests
to test a failure when the block is too big
though. The improved buddy allocation strategy
results in this block fitting on the heap now.
Hence the increase.
* Get rid of memcpy in to_vec()
* fixup: Style and comments
* fixup: Split Linux instructions by distribution
To prevent misunderstandings of people executing both.
* fixup: Remove unnecessary types and code
* fixup: Make Pointers start from 1, remove some panics, code improvements
* fixup: Return 0 on errors
* fixup: Move loop to separate function
* fixup: Use FnvHashMap instead of HashMap
* fixup: Fix error handling
* fixup: Use current_size() instead of used_size()
* fixup: Fix and document allocation offset
* fixup: Remove unnecessary multiplication
* fixup: Fix comments
* fixup: Remove Arch installation instructions
* Revert "Fix test"
This reverts commit 292c177df8efaa4658293748a13b1ab1c0b76ea8.
* fixup: Remove unused code, improve import
* fixup: Proper alignment
* fixup: Do not use internal constant in public description
* fixup: Add comment regarding invariants
* fixup: Move assertion to compile-time check
* Fix bug in necessary tree level calculation
The tree levels necessary to house a number
of nodes was calculated incorrectly.
* Improve naming
* Add Arch Linux installation instructions
* Enable tracing heap size
* Extract heap
* Replace linear allocator with buddy allocator
* Fix test
The purose of this big block is for the tests
to test a failure when the block is too big
though. The improved buddy allocation strategy
results in this block fitting on the heap now.
Hence the increase.
* Get rid of memcpy in to_vec()
* fixup: Style and comments
* fixup: Split Linux instructions by distribution
To prevent misunderstandings of people executing both.
* fixup: Remove unnecessary types and code
* fixup: Make Pointers start from 1, remove some panics, code improvements
* fixup: Return 0 on errors
* fixup: Move loop to separate function
* fixup: Use FnvHashMap instead of HashMap
* fixup: Fix error handling
* fixup: Use current_size() instead of used_size()
* fixup: Fix and document allocation offset
* fixup: Remove unnecessary multiplication
* fixup: Fix comments
* fixup: Remove Arch installation instructions
* Revert "Fix test"
This reverts commit 292c177df8efaa4658293748a13b1ab1c0b76ea8.
* fixup: Remove unused code, improve import
* fixup: Proper alignment
* fixup: Do not use internal constant in public description
* fixup: Add comment regarding invariants
* fixup: Move assertion to compile-time check
* impl Compact<> and HasCompact for Permill Perbill
* update parity-codec to 2.2
* add Cargo.lock
* add lock and build for runtime
* rebuild Cargo.lock after rebase
* Try to make everything compact
* Make `Clone` work
* Fix
* Move contracts and balances over to compact encoding
* Session and timestamp are compact
* Sataking uses compact numbers
* Treasury now compact
* Compact Democracy
* Council is compact
* Fix
* First effort
* API versioning
* Introduce validate_transaction
* Introduce the API plus fixes.
* Docs
* Typo
* Add longevity parameter to transaction validity info.
* Remove unneeded script
* Rename Substrate Demo -> Substrate
* Rename demo -> node
* Build wasm from last rename.
* Merge ed25519 into substrate-primitives
* Minor tweak
* Rename substrate -> core
* Move substrate-runtime-support to core/runtime/support
* Rename/move substrate-runtime-version
* Move codec up a level
* Rename substrate-codec -> parity-codec
* Move environmental up a level
* Move pwasm-* up to top, ready for removal
* Remove requirement of s-r-support from s-r-primitives
* Move core/runtime/primitives into core/runtime-primitives
* Remove s-r-support dep from s-r-version
* Remove dep of s-r-support from bft
* Remove dep of s-r-support from node/consensus
* Sever all other core deps from s-r-support
* Forgot the no_std directive
* Rename non-SRML modules to sr-* to avoid match clashes
* Move runtime/* to srml/*
* Rename substrate-runtime-* -> srml-*
* Move srml to top-level