Bastian Köcher
22db788c08
Optimize decode_len ( #5975 )
...
* Optimize `decode_len`
Instead of reading the full storage value into the runtime, we only read
at maximum `5bytes` from the storage into the runtime. Furthermore this
drops any handling with regards to set default values in
`decl_storage!`. If the value does not exists or the decoding of the
length fails, it will return `None`. To prevent people from messing
stuff up, this feature relies on the `StorageDecodeLength` trait that is
sealed by `frame-support` (aka only implementable inside this crate).
* Some clean ups
* Update frame/support/src/storage/mod.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
2020-05-12 12:13:28 +02:00
Bastian Köcher
bc9707b4c5
Use storage::append in the implementation of the storage types ( #5889 )
...
* Start improving `storage_append`
* Fix some stuff
* Fix compilation
* Update docs and add new test
* More tests
* Test kill + append
2020-05-05 15:09:07 +02:00
Shawn Tabrizi
7d9aa81bfc
Implement try_mutate for storage value and storage double map ( #5699 )
...
* impl try_mutate for storage value and storage double map
* Docs + Reuse `try_mutate` in `mutate`
2020-04-20 15:05:20 +02:00
thiolliere
28edcbfe8d
Implement iter for doublemap ( #5504 )
...
* implement iter for doublemap
* fmt
* fix tests
* fix staking mock
* address comment
* update doc and constraint for reversible hasher
Co-authored-by: Gavin Wood <gavin@parity.io >
2020-04-15 16:49:08 +02:00
Gavin Wood
af9083f53b
Refactor away from opaque hashes ( #5226 )
...
* System.BlockHash
* Fix hash
* Introduce K/V iteration in all _concat maps
Also move across:
- System.Account (blake2_128_concat)
- Balances.Locks (twox_64_concat)
- ElectionsPhragmen.VotesOf (twox_64_concat)
- ElectionsPhragmen.StakeOf (twox_64_concat)
- Identity.IdentityOf (twox_64_concat)
- Identity.SubsOf (twox_64_concat)
- Society.Payouts (twox_64_concat)
- Session.NextKeys (twox_64_concat)
- Identity.SuperOf (blake2_128_concat)
- Session.KeyOwner (blake2_128_concat)
- Society.SuspendedCandidates (twox_64_concat)
- Society.SuspendedMembers (twox_64_concat)
- Society.Vouching (twox_64_concat)
- Society.Strikes (twox_64_concat)
- System.EventTopics
- Balances.Account
* Build fixes
* Ensure migration happens in correct order
* Staking.*
* Vesting.* Offences.*
* Democracy.*
* Babe.* Collective.*
* Grandpa.*
* Assets.* Benchmark.* Contracts.* Elections.* Asset.* Nicks.*
Also introduce real account list
* ImOnline.*
* Treasury.*
* Recovery.*
* Final bits.
* Docs
* Fix one test
* Fix test
* All passing except the UI tests
* Remove linked_map part 1
* Remove linked_map
* Some iterator utils for double maps.
* Remove old migrations
* Introduce tombstone for LinkedMap type
* Migration for genesis hash
* Fix build
* Fix hash
* Rename Map is_linked -> unused, keeping backwards compat (#5256 )
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/elections/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Remove old migration code.
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update bin/node/runtime/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fix hash
* fix session migration
* Fix watning
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
2020-03-16 23:19:53 +01:00
Gavin Wood
0573f1408d
Introduce default-setting prime for collective ( #5137 )
...
* Introduce default-setting prime for collective
* Docs.
* Elections phragmen supports prime
* Fix
* Membership supports prime
* Fix
* Update frame/collective/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2020-03-05 15:57:03 +01:00
Gavin Wood
5b7512e2e4
Composite accounts ( #4820 )
...
* Basic account composition.
* Add try_mutate_exists
* De-duplicate
* Refactor away the UpdateBalanceOutcome
* Expunge final UpdateBalanceOutcome refs
* Refactor transfer
* Refactor reservable currency stuff.
* Test with the alternative setup.
* Fixes
* Test with both setups.
* Fixes
* Fix
* Fix macros
* Make indices opt-in
* Remove CreationFee, and make indices opt-in.
* Fix construct_runtime
* Fix last few bits
* Fix tests
* Update trait impls
* Don't hardcode the system event
* Make tests build and fix some stuff.
* Pointlessly bump runtime version
* Fix benchmark
* Another fix
* Whitespace
* Make indices module economically safe
* Migrations for indices.
* Fix
* Whilespace
* Trim defunct migrations
* Remove unused storage item
* More contains_key fixes
* Docs.
* Bump runtime
* Remove unneeded code
* Fix test
* Fix test
* Update frame/balances/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fix ED logic
* Repatriate reserved logic
* Typo
* Fix typo
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update frame/system/src/lib.rs
Co-Authored-By: Shawn Tabrizi <shawntabrizi@gmail.com >
* Last few fixes
* Another fix
* Build fix
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Jaco Greeff <jacogr@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2020-02-14 00:47:51 +00:00
Alexander Popiak
cb567d6b8b
Rename StorageMap::exists to ::contains_key ( Resolves #4839 ) ( #4847 )
...
* rename StorageMap::exists(key) to ::contains_key(key)
* bump impl_version
2020-02-08 20:31:35 +01:00
thiolliere
f4fa59470a
doc ( #4761 )
2020-01-29 13:26:09 +01:00
thiolliere
76acc96f3a
Remove default hasher ( #4739 )
...
* remove default hasher from decl_storage!
* fix decl_storage declarations
2020-01-27 18:23:10 +01:00
Robert Habermeier
69e0cf7fe2
reset a couple of versions down from v2.0 ( #4572 )
...
* reset a couple of versions down from v0.2.0
* Unstablise browser-utils (very new) and grafana-data-source (going to be replaced with prometheus sometime)
* unmark a bunch more client crates for stabilization
* fix versions in Cargo.tomls
* Downgrade network-test
* Set frame-metadata version to `10.0.0`
* Hide and documented storage generator as internal api
* Downgrade `sp-externalities`
* Downgrade `sc-cli`
* Downgrade sc-executor et al to 0.8.0
* Downgrade sp-state-machine to 0.8.0
* Downgrade pallet-contracts et al to 0.8.0
* Downgrade sp-sandbox to 0.8.0
* downgrade pallet-evm to 0.8.0
* Downgrade pallet-staking to 0.8.0
2.0 should be implementation of lazy payout alongside all the fixes of
current module
* Downgrade node-transaction-factory to 0.8.0
* frame pallets are 2.0.0
Co-authored-by: Ashley <ashley.ruglys@gmail.com >
Co-authored-by: Pierre Krieger <pierre.krieger1708@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Sergei Pepyakin <s.pepyakin@gmail.com >
Co-authored-by: Wei Tang <accounts@that.world >
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: Marcio Diaz <marcio@parity.io >
2020-01-15 18:35:27 +01:00
Shawn Tabrizi
7efa62725e
Update copyright year ( #4532 )
2020-01-05 14:05:44 +01:00
thiolliere
583b0e3c69
impl iter_prefix on doublemap ( #4388 )
2019-12-17 13:41:25 +08:00
Weiliang Li
4f2cdb20c1
Rename: primitives/sr-io -> primitives/sp-io ( #4328 )
...
* primitives/sr-io -> primitives/io
* fix
* rename
* runtime-io -> sp-io
* git mv
* fix ci
* remove package name
* fix
* fix
* try minimizing diff
* try minimizing diff again
* try minimizing diff again
2019-12-10 16:08:35 +01:00
Tomasz Drwięga
1f84d6d41d
Fix warnings when compiling runtime. ( #4332 )
...
* Remove warnings when compiling runtime.
* Remove dispatch::Result imports.
* Add missing imports.
* Fix missing vecs. #4333
* Fix oom function.
* Remove superfluous import.
* More warnings.
2019-12-10 14:21:34 +01:00
Weiliang Li
6da9f59d72
Rename: primitives/sr-std -> primitives/sp-std ( #4327 )
...
* primitives/sr-std -> primitives/std
* fix
* fix conflict
* rstd -> sp-std
* git mv
* fix review
* fix merge
2019-12-10 08:26:27 +01:00
thiolliere
22c00ff424
Add swap and decode_len to DoubleMap finishing #3749 ( #4264 )
...
* Add `swap` and `decode_len` to `DoubleMap`
* Add tests to `swap` and `decode_len` for `DoubleMap` (WIP)
* Address review comments
* Remove function that is not in scope
* fix test
* better naming
2019-12-02 13:01:29 +01:00
thiolliere
f4035cd5ac
Implement all storage after prefix ( #4227 )
...
* Implement all storage after prefix
* fix test, bump version and fix doc
* bump metadata version
* Update frame/support/procedural/src/storage/storage_struct.rs
2019-11-27 18:23:20 +00:00
Shawn Tabrizi
c9175b59ff
Rename Palette to FRAME ( #4182 )
...
* palette -> frame
* PALETTE, Palette -> FRAME
* Move folder pallete -> frame
* Update docs/Structure.adoc
Co-Authored-By: Benjamin Kampmann <ben.kampmann@googlemail.com >
* Update docs/README.adoc
Co-Authored-By: Benjamin Kampmann <ben.kampmann@googlemail.com >
* Update README.adoc
2019-11-22 19:21:25 +01:00