Commit Graph

278 Commits

Author SHA1 Message Date
Jordan Beauchamp b6d5f6858c Macro spell fixes (#2442) 2019-05-01 09:49:51 +02:00
Shawn Tabrizi 407511100c Add pub to functions in Contract module (#2399)
* Add `pub` to functions in Contract module

This is to support a wrapper module which will add an access control layer to the SRML Contract module.

* Remove `pub` from `on_finalize`
2019-04-30 15:53:31 +02:00
thiolliere c7d9ca379d Contract accounting removal (#2230)
* first partial implementation

* update rent allowance

* fmt

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* remove comments

* reward surcharge claims

* remove rent allowance in param + code_hash changed

* Fix bug

* fix tests

* fmt

* impl getter setter rent allowance

* fmt

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* comments

* doc + be->le

* doc

* doc

* fix improve fast return

* renamings

* rename + COMPLEXITY

* COMPLEXITY

* add test

* etrinsic claim surcharge delay configurable

* comment addressed

* move and rewrite of pay_rent

* remove child trie

* fmt

* use derive

* arithmetic operation

* fix

* fix storage root + checked_mul + test

* WIP: test

* WIP

* add tests and fix

* fmt

* typo and doc suggestions

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* WIP

* address some comments

divide tests + some docs

* use br_table

* remove unused function

* Bump the runtime version

* insert_with

* Add some comments.

* Refactor

* Shuffle and fix comments

* More comment fixes.

* dues limited

* Add comment

* Handicap

* Docs.

* Apply suggestions from code review

Co-Authored-By: pepyakin <s.pepyakin@gmail.com>

* Coalesce block_passed in a block

* Fix build

* Paid → Ok

* match → if

* Imrpove handicap description
2019-04-30 09:41:33 +02:00
thiolliere bb9746c798 store contract keys with blake2_256 (#2414)
* store contract keys with blake2_256

* bump version
2019-04-29 16:13:45 +02:00
Luke Schoen 39197f58f4 refactor: Remove duplicate line. Show on separate lines to fix formatting (#2402) 2019-04-29 09:40:08 +02:00
thiolliere 2b10d8e080 decl_storage document hasher choice (#2387)
* doc

* fix

* grammar and line wrapping

* small changes to end

* Update lib.rs

* update after demi's review
2019-04-27 16:33:21 +02:00
Bastian Köcher 3c988ea7e9 Read locks once and not 2 times (#2394) 2019-04-27 14:14:00 +02:00
Michael Müller a0e0d9b03d Fix typos and markdown (#2388)
* Fix typos

* Align properly

* Update core/consensus/slots/src/lib.rs

Co-Authored-By: cmichi <mich@elmueller.net>

* Update core/network/src/test/mod.rs

Co-Authored-By: cmichi <mich@elmueller.net>

* Update core/finality-grandpa/src/communication/mod.rs

Co-Authored-By: cmichi <mich@elmueller.net>

* Update core/consensus/common/src/import_queue.rs

Co-Authored-By: cmichi <mich@elmueller.net>
2019-04-26 14:09:13 +02:00
thiolliere 07d495d905 remove use of hidden api in support procedural (#2383) 2019-04-25 15:48:18 +02:00
Stanislav Tkach 0f02bed702 Update hex-literal version, simplify imports and remove unused dependencies (#2371) 2019-04-25 11:17:40 +02:00
Bastian Köcher f0862606b7 Forward port blake2 storage support (#2360)
* move storage maps to blake2_128 (#2268)

* remove default hash, introduce twox_128 and blake2

* use blake2_128 & create ext_blake2_128

* refactor code

* add benchmark

* factorize generator

* fix

* parameterizable hasher

* some fix

* fix

* fix

* fix

* metadata

* fix

* remove debug print

* map -> blake2_256

* fix test

* fix test

* Apply suggestions from code review

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* impl twox 128 concat (#2353)

* impl twox_128_concat

* comment addressed

* fix

* impl twox_128->64_concat

* fix test

* Fix compilation and cleanup some docs

* Apply suggestions from code review

Co-Authored-By: bkchr <bkchr@users.noreply.github.com>
2019-04-24 11:05:22 +02:00
Luke Schoen 21d1ee4e99 Documentation for the Session Module (#2283)
* WIP

* fix: Redo session module docs incorporating approach used by Joe in democracy

* remove unncessary quotes

* docs: Add example from srml to session module docs

* replace asterix with dash

* session start

* make example compile

* index html updates

* Update lib.rs
2019-04-23 22:30:30 +02:00
Mokhtar Naamani bd6427a268 set reasonable value for bonding_duration in chainspec staging config (#2289)
* set reasonable value for bonding_duration in chainspec staging config

* set default bonding_duration to 1, and bump runtime version

* Update node/cli/src/chain_spec.rs

Co-Authored-By: mnaamani <mokhtar.naamani@gmail.com>

* Update node/cli/src/chain_spec.rs

Co-Authored-By: mnaamani <mokhtar.naamani@gmail.com>

* Update srml/staking/src/lib.rs

Co-Authored-By: mnaamani <mokhtar.naamani@gmail.com>
2019-04-23 22:26:09 +02:00
Nicole Zhu 01ba9adb63 Documentation: Treasury module (#2269)
* Add: draft of treasury doc

* Update srml/treasury/src/lib.rs

Co-Authored-By: nczhu <nicole@parity.io>
2019-04-23 19:03:33 +01:00
Luke Schoen f1f01f8212 Documentation for example module (#1947)
* WIP: SRML Example Module README

* add newlines

* review-fix: Change const to let. Explain generic usage more

* refactor: Remove example steps 2 and 3. User can refer to other examples to figure it out

* fix: Update to incorporate approved approach of staking module docs in PR #1951

* fix: Move into expandable Details arrow and fix syntax so appears correctly in rust docs

* fix: Fix linting

* docs: Add Public Dispatchable functions

* fix: Rearrange to use Simple Code Snippet and Examples from SRML

* fix: Remove duplicate Dispatchable Functions section

* fix: Remove Implementation Details as requested by Gav
2019-04-23 19:01:58 +01:00
Luke Schoen 5fe4c4591d Documentation for assets module (#1945)
* WIP - SRML Assets Module README

* docs: Tweaks for consistency

* docs: Add missing newline

* review-fix: Remove non-SRML trait dependencies

* review-fix: Replace const with let

* review-fix: Remove use of compact in signature

* review-fix: Change const to let since cannot use result of function call

* fix: Add backticks around type and mention type it derives from

* review-fix: Update variable names since changed to lowercase since using let

* fix: Change type to bold instead of code

* review-fix: Update Asset module

* refactor: Consistent bullet points. Remove whitespace between items

* review-fix: Remove useless blah

* review-fix: Remove Storage Items

* review-fix: Remove Types

* review-fix: Remove duplicate instructions

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* Update srml/assets/src/lib.rs

Co-Authored-By: ltfschoen <ltfschoen@users.noreply.github.com>

* review-fix: Remove since will be replaced after macro expansion #2068 as per comment

* review-fix: Move Goals within overview

* fix: Fix indentation

* style and a few minor changes

* remove Events

* capitalization

* docs: Reword the Goals to remove mention of cold wallets based on discussion with Joe

* Wording

* Update lib.rs

* Update lib.rs

* Update lib.rs
2019-04-23 18:59:17 +01:00
Nicole Zhu 25c529095c Documentation: decl_module! macro (#2147)
* Add: initial draft of decl_module!, before fact-check

* Add: edits after content review by Guillaume

* style

* add link to event doc

* Changed `nocompile` to `rust,ignore` for docs

* Update srml/support/src/dispatch.rs

Co-Authored-By: nczhu <nicole@parity.io>

* Update dispatch.rs

* Changed examples layout of decl_module macro docs

* style and links

* decl_module doc tests passing

* All doc tests passing for decl_module

* Minor cleanup, comment out doc test imports

* some cleanup

* Update srml/support/src/dispatch.rs

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Bump `impl_version` for CI

* Fix indentation

* Update description of Multiple Module Instances

* function definition updates

* restructure example and spelling fixes

* update after review

* `ensure_root` is not a macro

* remove ! from ensure_root in text

* public vs private
2019-04-23 18:52:10 +01:00
thiolliere 116e99b6f3 decl_storage doc (#2341)
* doc

* other doc cleanup and fixing links

* one more typo
2019-04-23 18:50:22 +01:00
Sergei Pepyakin e2bb429711 Use serde derive feature. (#2351)
* core/primitives

* sr-primitives

* sr-primitives

* srml-treasury

* substrate-executor

* substrate-keystore

* network-libp2p

* substrate-service

* srml-system

* substrate-rpc

* sr-version

* substrate-telemetry

* substrate-test-runtime

* substrate-transaction-pool

* node-template-runtime

* node-primitives

* srml-consensus

* srml-contract

* srml-democracy

* srml-finality-tracker

* srml-grandpa

* srml-metadata

* srml-support

* Clean

* Update locks
2019-04-23 18:42:42 +02:00
Sergei Pepyakin 517746bd62 Check storage_key for validity (#2316)
* Intro `ChildStorageKey` for checked child keys

* Get rid of Into in Externalities trait

* Use Cow in ChildStorageKey

* Fix tests for state-machine.

* Clean

* child_storage_root always return a value

* Don't return Option from Ext::child_storage_root

* Return 42 in child_storage_root

* Return CHILD_STORAGE_KEY_PREFIX from trie id gen

* Bump spec and impl version.

* Require `:default:` in `is_child_trie_key_valid`

* Add `default:` prefix.

* Introduce `into_owned` for `ChildStorageKey`.

* Add documentation.

* Fix state-machine tests

* Remove outdated TODO

I check out with Emeric and he is ok with that

* child_storage_root is infailable

* Nit

* Move assert after check.

* Apply suggestions from @DemiMarie-parity

Co-Authored-By: pepyakin <s.pepyakin@gmail.com>

* Formatting nit in core/executor/src/wasm_executor.rs

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Formatting nits from @thiolliere
2019-04-23 18:14:45 +02:00
Sergei Pepyakin 07268022cc contracts: Validate code before deployment (#2330)
* Validate module before storing it in code_cache.

* Bump version.
2019-04-19 13:35:11 -04:00
Tomasz Drwięga c2065aafd6 Remove limitation to 256 transactions, don't construct a vector. (#2321)
* Remove limitation to 256 transactions, don't construct requires vector.

* Bump impl version.
2019-04-19 13:22:53 +02:00
Andrew Jones 3a87e9c8bc Restrict patch version of syn (#2327) 2019-04-19 08:52:22 +02:00
Luke Schoen d70799dfc8 fix minor typos (#2324)
* opening and closing links

* sudo example compiles

* add Aura after it was merged to master

* Timestamp doc testing passes

* Timestamp doc testing works, extraneous lines commented out

* balances

* remove extern crate line

* Removed unneeded code snippet from aura

* make consensus compiles

* executive compiles

* cleanup unnecessary lines

* staking (removed examples that are just copies of tests)

* minor typos

* restore tab spacing
2019-04-18 15:51:42 +02:00
joe petrowski 61e63a04fb Make Documentation Examples Compile (#2310)
* opening and closing links

* sudo example compiles

* add Aura after it was merged to master

* Timestamp doc testing passes

* Timestamp doc testing works, extraneous lines commented out

* balances

* remove extern crate line

* Removed unneeded code snippet from aura

* make consensus compiles

* executive compiles

* cleanup unnecessary lines

* staking (removed examples that are just copies of tests)

* Apply suggestions from code review

* unindent example
2019-04-18 14:53:02 +02:00
joe petrowski 129803efd2 Make existing docs more consistent (#2307)
* opening and closing links

* sudo example compiles

* add Aura after it was merged to master

* remove extern crate line
2019-04-17 13:40:13 +02:00
thiolliere 450c03d03e Fix contract child usage (#2299)
* Fix contract child usage

* bump implementation version
2019-04-16 18:09:34 +02:00
Amar Singh 6b3cb78a48 Documentation for Aura Consensus Extension (#2074) 2019-04-16 17:46:03 +02:00
thiolliere f7fc02fdf2 Use correct prefix needed by child trie in contract (#2292)
* resolve child trie usage

* update locks

* increase version

* fix test

* Revert "update locks"

This reverts commit 6f537458b39df4a3bf05a311253986f29289f391.
2019-04-16 15:38:12 +02:00
joe petrowski fc0b348de4 Update Documentation (#2172)
* timestamp

* balances

* balances-remove-short-example

* system

* sudo (+missing period in balances)

* contract

* staking

* fix unclear definition in balances

* update after review

* update genesis-config-sudo link

Co-Authored-By: joepetrowski <25483142+joepetrowski@users.noreply.github.com>

* genesis
2019-04-16 15:35:21 +02:00
Bastian Köcher 72840bd71e Add StorageValue::append and speed-up deposit_event (#2282)
* Adds deposit event benchmark

* Add `StorageValue::append`

`StorageValue::append` can be used by types that implement `EncodeAppend` to speed-up situations where you just want to append
an item to storage without wanting to decode all previous items.

* Stay at 100 events

* Fixes compilation

* Use correct year and increase spec version
2019-04-16 13:17:02 +02:00
Bastian Köcher c11afbee22 Remove peerset debug output test (#2267)
* Remove peerset debug output test

We should not test debug output, especially when it can change.

* Update lock file
2019-04-15 15:47:06 +02:00
DemiMarie-parity ae916c6c5e Add basic BABE consensus type (#2165)
* Add basic BABE consensus type

* Update core/consensus/babe/slots/Cargo.toml

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Fix parameterization and run `rustfmt`

* Respond to review comments

* Update various Cargo.lock files

* Revert "Update various Cargo.lock files"

This reverts commit af53d7624752a744320e9cbb25749fdd8e6f46d2.

* `BabeSealSignature` → `BabeSeal`

* Move slot code to its own crate

This was highly non-trivial, due to cyclic dependencies.

* Remove redundancy between AuRa and BABE

Some of the code duplication was removed using a macro.

* Fix build error

* Avoid non-`#[doc(hidden)]` re-exports

Also, bump some library versions in `Cargo.toml`.

* Remove dead code in AuRa

* Remove impl_slot macro

It was more trouble than it was worth.

Also, delete useless dependencies on Serde.

* AuRa and BABE need different DB keys

* Bring back `aura::Network`, but deprecate it.

* Improve docs and add `slot_duration` inherent method

* Add docs to `substrate_consensus_aura::SlotDuration`

* Add missing documentation and #![forbid(missing_docs, unsafe_code)]

* Add a #![forbid(missing_docs)]

* Remove dependency of `test-runtime` on `slots`

* Update core/consensus/babe/src/lib.rs

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Remove wrongly added file

* Fix copyright notice

Co-Authored-By: DemiMarie-parity <48690212+DemiMarie-parity@users.noreply.github.com>

* Bump `impl_version` and `spec_version`

* Fix deprecation version; remove spurious carets

* Update Cargo.lock

* Update dependencies
2019-04-15 07:41:07 +02:00
joe petrowski 29e9273579 SRML Executive Documentation (#2144)
* executive docs first draft

* link updates

* gautam update

* capitalization

* typo fix
2019-04-12 13:01:38 +02:00
Andrew Jones 1e0c1d8850 Introduce ext_println to contract runtime (#2239)
* Implement `ext_println` in contract runtime

* Only allow contracts to import `ext_println` on dev chains

* Configure dev chain to allow contracts with `ext_println`

* Increment spec version

* Docs

* Rename config to the more specific enable_println
2019-04-11 15:49:17 +02:00
Bastian Köcher 0afc357a97 Throw a compile error for on_finalise and on_initialise (#2236) 2019-04-09 10:31:18 +02:00
Andrew Jones 03f3fb1442 Contract import/export validation (#2203)
* Reject validation of contract with unknown exports

* Validate imports eagerly

* Increment spec version
2019-04-06 13:23:56 +02:00
Bastian Köcher dce0b4ea49 Use storage_root of newly calculated header (#2216)
Instead of calculating the `storage_root` a second time, we just can
take the `storage_root` from the new header.
2019-04-05 17:50:38 +01:00
Xiliang Chen cb7a8161f5 code cleanup (#2206) 2019-04-04 16:55:55 +02:00
Bastian Köcher e902c54399 Switch to derive(Encode, Decode) for Call (#2178)
* Add some tests

* More tests

* Switch to `derive(Encode, Decode)` for `Call`

* Update lock files

* Simplify the macro cases
2019-04-03 11:59:57 +02:00
Andrew Jones b3931d3e2a Remove redundant Ok(()) and explicitly specify StorageKey buffer type (#2188) 2019-04-03 11:59:03 +02:00
Andrew Jones 4c115e3f2d Replace Vec<u8> with [u8; 32] for contract storage key (#2184)
* Replace Vec<u8> with [u8; 32] for contract storage key

* Read storage keys from sandbox memory into fixed size buffer

* Increment `impl_version`
2019-04-03 10:12:54 +02:00
thiolliere c98db99d80 implement contract events (#2161)
* implement contract events

* update runtime

* renaming

* update test code hash

* improve complexity details

* add deposit event base cost

* add test

* Revert "add deposit event base cost"

This reverts commit 58ec010c0f4f4f0e16935ad41da32aedd17a8c57.

* update test

* Revert "update test"

This reverts commit 6fe61a593ccf0d41f09a0b97472b28ed8751a999.

* Revert "Revert "add deposit event base cost""

This reverts commit 145e8a9bac15313a4c380aa66b94fd4d36fa3f6d.

* Fix format a bit
2019-04-03 08:20:01 +02:00
Robert Habermeier e6cc49cf63 ensure imbalances are properly accounted for (#2183)
* ensure imbalances are properly accounted for

* bump runtime version

* Update node/runtime/src/lib.rs
2019-04-03 08:16:58 +02:00
Kian Peymani b7eeb28de9 Fix Staking Accuracy issues. (#2180)
* Nasty patch for election

* cleanup

* a few more comments.

* minor fixes

* Improve comment
2019-04-02 17:57:56 +02:00
thiolliere 7e3b2d464a skip phantom for decl_event (#2158)
* use parity-codec-derive from parity-codec everywhere

* codec v3.2 -> v3.3

* skip phantom when deriving event

* fix decl_module call

* update impl version of node + builds
2019-04-02 12:04:23 +02:00
thiolliere a0e6d96de0 keep track storage bytes (#2154)
* refactor

* fix accountinfo creation + impl mem_stored

* add comment

* improve syntax

Co-Authored-By: thiolliere <gui.thiolliere@gmail.com>

* rename current_mem_stored -> storage_size

* more explaination + more readable code

* bump impl version of node + builds

* delete builds
2019-04-01 19:14:55 +02:00
Bastian Köcher 137409f02a Remove execute_extrinsics_without_checks as it will not be required (#2145)
This functionality was added by me for Cumulus, but after better
understanding Cumulus, this will not be required.
2019-04-01 15:37:58 +02:00
Gav Wood eca163ba64 Bump version to 1.0.0 globally (#2149)
* Bump versionb globally

* Rebuild and fix

* Rename fixes

* Rebuild

* Minor fix and code formatting for validator election

* Fix tests

* More test fixes

* Fix several bugs in phragmen elections.

* Rebuild, remove pointless closures
2019-04-01 15:16:06 +02:00
DemiMarie-parity 63c3dd5a45 Fix compile errors in test suite (#2151) 2019-03-29 21:30:28 +01:00