Hero Bird
128d164f2b
Make use of parity-codec "derive" crate feature ( #1919 )
...
* Make use of parity-codec "derive" crate feature
* Bump impl_version
* Update wasm files and Cargo.lock files
* Transferred to parity_codec derive feature for the rest of the crates
* Update wasm binaries and lock files
* Update core and node wasm binaries
2019-03-05 09:00:37 +01:00
thiolliere
72a8927ea3
replace some encode by using_encoded ( #1863 )
...
* replace some encode by using_encoded
* update runtime
* improve readibility
2019-02-26 09:26:11 +01:00
Jordan Beauchamp
f5ab24804f
Let StorageDoubleMap use borrowed key types ( #1804 )
...
* Let StorageDoubleMap use borrowed key types
* Bump impl version
2019-02-21 19:26:31 +01:00
thiolliere
8065116ba5
Improve fees module ( #1821 )
...
* remove amount associated
* make a new trait to bound some arithmetics to balances or assets:
It also remove arithmetic bounds of srml-support::traits::Currency.
To update your code then use srml_support::traits::ArithmeticType like:
`type Currency: ArithmeticType + Currency<Self::AccountId, Balance=BalanceOf<Self>>; `
with `type BalanceOf<T> = <<T as Trait>::Currency as ArithmeticType>::Type; `
* improve decl_storage when it explicit serde bound: basically don't try to be smarter than rust and just use where clause.
2019-02-19 17:13:59 +01:00
Xiliang Chen
fafffdb771
Transaction Fee Module ( #1648 )
...
* wip
* Split bytes fee charging and charging by amount into different traits.
* Move to edition 2018.
* Implemented charge fee traits for fees module.
* Implemented 'on_finalise' for fee module.
* Updated fees finalize impl.
* Renaming and documentation update.
* Added overflow & underflow check for fee calculation.
* Added mock and unit tests for fee module.
* More unit tests for fees module.
* Fixed srml-executive unit tests.
* Remove transaction base/bytes fee from balances module, fix unit tests.
* fix compile error
* Fixed unit test.
* Minor fixes.
* Bump spec version.
* Bump spec version.
* Updated fees module and runtime wasm.
* Fees module code style improvement; updated runtime wasm.
* Bump spec and impl version.
2019-02-15 11:21:38 +01:00
Gav Wood
e5ac7f0957
Vesting schedules. ( #1726 )
...
* Vesting.
* Vesting stuff.
* Add new wasm blobs
* Bump runtime version
* Update lock
* Fix tests
* Bump version
2019-02-10 11:15:16 +01:00
Stanislav Tkach
ca69ad4c30
Migrate smrl-treasury and srml-upgrade-key to the 2018 edition ( #1725 )
2019-02-09 18:06:20 +01:00
thiolliere
e5dbcf6890
decouple balances from some modules ( #1641 )
...
* decouple balances from some module by creating a new traits in support/traits
* improve decl_event
2019-02-08 17:43:12 +01:00
Tomasz Drwięga
83f9e1e720
Allow modules to indicate full block. ( #1687 )
...
* Add transaction skipping.
* Update runtime.
2019-02-08 15:35:48 +01:00
Jordan Beauchamp
fb0f4dfb03
Expose block random seed and timestamp to contract ABI ( #1630 )
...
* Expose block random seed and timestamp to contract ABI
* Add tests
* Bump spec version
2019-02-07 10:58:02 +01:00
Benjamin Kampmann
15ae7cfef6
Document more TODOs as tickets ( #1418 )
...
Went through the TODOs, removed a bunch, which are outdated or nothing more than a regular comment, documented a bunch more as actual tickets and made them FIXMEs and unified their structure (`FIXME #TICKETNO DESC` for local tickets, `FIXME: DESC LINK` for external tickets) for easier in-editor support. Further more remove unnecessary remarks and related old code that I noticed in that instance.
2019-01-30 10:29:48 +01:00
Gav Wood
c132e84572
Additional externs for ecdsa recovery and keccak ( #1583 )
...
* Additional externs for ecdsa recovery and keccak
* Update core/executor/src/wasm_executor.rs
Co-Authored-By: gavofyork <github@gavwood.com >
* Update core/executor/src/wasm_executor.rs
Co-Authored-By: gavofyork <github@gavwood.com >
* Fix grumble
* Grumble.
2019-01-25 19:07:02 +00:00
Sergei Pepyakin
a5cafa68b1
Update srml-contract to Rust 2018. ( #1510 )
...
* Fix imports.
* Remove redundant binding
* Clean extern crates.
* Add comment
* Re-export macros from prelude
* Build fixes
* Update core/sr-std/src/lib.rs
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
2019-01-24 16:26:53 +01:00
thiolliere
c0568ba3c6
update primitive-types and solve break changes ( #1535 )
2019-01-23 18:26:44 +01:00
thiolliere
2492931944
compact param in calls ( #1499 )
...
* impl #[codec(compact)] for param
* update modules
* test all and build runtime
* Update srml/support/src/dispatch.rs
Co-Authored-By: thiolliere <gui.thiolliere@gmail.com >
* Update srml/support/src/dispatch.rs
Co-Authored-By: thiolliere <gui.thiolliere@gmail.com >
* delete wip comment
* update param to use #[compact] instead of Cmpact<>
* fmt
* impl metadata
* test metadata
* add compact attr test
* script buid
* update test
2019-01-22 14:42:13 +01:00
Sergei Pepyakin
58cd6530be
Dispatch Calls to other modules ( #1473 )
...
* WIP
* Use system::Origin::Signed as an origin
* Add a vm test for ext_dispatch_call
* Take fee for dispatching a Call
# Conflicts:
# node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm
* Clean & Rebuild
# Conflicts:
# node/runtime/wasm/target/wasm32-unknown-unknown/release/node_runtime.compact.wasm
* Dispatch call test.
* Rebuild the runtime.
* Fix the length of the buffer.
* Rebuild binaries.
2019-01-22 13:10:14 +01:00
Sergei Pepyakin
603392a9b9
Remove gas function from the public API ( #1503 )
...
* Disallow importing `gas` function
* Update srml/contract/src/wasm/prepare.rs
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
2019-01-21 16:21:32 +01:00
Sergei Pepyakin
f0dbcf5401
Verify that contracts cannot use float operations ( #1504 )
2019-01-21 14:04:58 +01:00
Sergei Pepyakin
0ad2a5fb96
Some trivial externalities added ( #1450 )
...
* Add gas_left, gas_price and balance externalities
* Add a value_transferred externality
2019-01-19 12:33:28 +01:00
Sergei Pepyakin
c88b44f6db
Contracts module rejig ( #1358 )
...
* Move prepare under code.
* Schedule update
* CodeHash
* create takes code_hash
* pass mem def and use code in vm::execute
* Actually save and load code
* Use T::Hash as CodeHash
* Explicit entrypoint name
* Return code_hash and deposit an Event
* Charge for deployed code with gas.
* ImportSatisfyCheck and FunctionImplProvider
* Progress.
* Use new infrastructure for checking imports
* Rename entrypoint to entrypoint_name
* Use strings instead of a Error enum
* Clean
* WIP
* Fix macro_define_env test.
* Fix vm code tests.
* Remove tests for now.
* Fix borked merge
* Fix build for wasm
* fmt
* Scaffolding for abstracting vm.
* Hook up execution to exec layer.
* Fix vm tests.
* Use schedule directly in WasmLoader
* Implement test language.
* Add input_data test.
* Max depth test
* ext_caller
* Simplify test.
* Add TODO
* Some tests and todos.
* top_level
* Clean.
* Restore a couple of integration tests.
* Add a few comments.
* Add ext_address runtime call.
* Deduplicate caller/self_account
* Add not_exists test.
* Change bool to TransferCause.
* Add address tests.
* Remove output_buf from parameter.
* return from start fn.
* Smart gas meter
* Tracing
* Fix prepare tests.
* Code moving
* Add ExecFeeToken
* Use tokens everywhere.
* Make it compile in no_std.
* Lift all test requirements to TestAuxiliaries
* A minor clean
* First create tests
* Remove unneeded TODO
* Docs.
* Code shuffling
* Rename create → instantiate
* Add test address.
* Code shuffling
* Add base_fee tests.
* rejig the code
* Add some comments
* on_finalise comment
* Move event deposit further
* Update Cargo.lock
* Use crates.io version of pwasm-utils
* Format todo comments
* Fix formatting
* Comments
* EmptyOutputBuf and OutputBuf split.
* Restore code_hash
* Fix node-executor.
* Fix typo
* Fix fmt
* Update srml/contract/src/account_db.rs
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
* Update srml/contract/src/lib.rs
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
* Line wraps
* Wrapping macros
* Add _ prefix
* Grumbles
* Doc updates.
* Update srml/contract/src/wasm/mod.rs
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
* Update srml/contract/src/lib.rs
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
* Add comment
* Use saturation to signal overflow
* Add prepare_test! macro
* Require deploy function.
* Add entry point tests
* Add comment.
* Rename code → code_cache to better describe
* Get rid of weird match!
* Recompile binaries
* Add comments
* refuse_instantiate_with_value_below_existential_deposit
* Little fix
* Make test more complete
* Clean
* Add integration test for instantiation
* Rebuild runtime.
* Add some tests.
* Attach an issue to a TODO
* Attach another issue
* Apply suggestions from code review
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
* Update srml/contract/src/exec.rs
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
* Update srml/contract/src/exec.rs
Co-Authored-By: pepyakin <s.pepyakin@gmail.com >
* Recompile node_runtime
2019-01-17 12:01:12 +01:00
Gav Wood
c9f047fe84
Split Indices module from Balances ( #1404 )
...
* Indices module
* Remove indices stuff from balances
* Rejob node, move Lookup into system.
* Fix up some modules.
* Fix democracy tests
* Fix staking tests
* Fix more tests
* Final test fixes
* Bump runtime versions
* Assets uses compact dispatchers
* Contracts module uses indexed addressing
* Democracy has more compact encoding
* Example now demonstrates compact eencoding
* Sudo uses indexed address
* Upgrade key also uses indexed lookups
* Assets more compact types.
* Fix test
* Rebuild runtime, whitespace
* Remove TOODs
* Remove TODOs
* Add a couple of tests back to balances.
* Update lib.rs
* Update lib.rs
2019-01-16 15:57:19 +01:00
Xiliang Chen
bf51b8a5ad
Move double map to support module and generalize it ( #1379 )
...
* Move double map to support and generalize it
* add docs back
* reduces the number of required allocations
2019-01-11 11:44:15 +01:00
Bastian Köcher
d15cc63370
Make deposit_event work with none generic events ( #1309 )
...
* Make `deposit_event` work with none generic events
`fn deposit_event() = default` will now be used for none generic events
`fn deposit_event<T>() = default` is now for generic events.
* Update wasm files
* Fixes some spelling mistakes
* Update wasm and fix new module
2018-12-22 17:37:05 +01:00
Sergei Pepyakin
025bcdda0f
srml-contract: ext_caller follow-up ( #1266 )
...
* s/account ID/address
* Add a note about CODE_CALLER
* Comment tests.
2018-12-13 18:20:40 +01:00
Sergei Pepyakin
ce91da6b89
srml-contract: introduce ext_caller external function ( #1255 )
...
* Implement ext_caller.
* Rebuild wasm.
* Update COMPLEIXTY.md
2018-12-12 14:00:21 +01:00
cheme
ed5b78eaf0
decl_storage as a proc_macro (#1176 )
...
* `decl_storage` parsing of the macro (TODO change tool crate structure)
* Start formatting, for now use inner macro.
Still missing optional formating last part (genesis ...).
* Calling extra genesis macro
* decl_storage lines parsing.
* genesis macro as quote (need some cleaning reorg)
* dirty $crate substitute
* proc crate reorg.
* PR impl : skip usage of phantom data, it only applies in test and
council (others required it).
* Remaining macro of decl_storage, warning stringify behave sometime
oddly.
* Formatting code and some cleaning.
* Include line parsing to main struct (cannot use existing macro anymore).
* Remove genesis phantom data when there is already a field with type
parameter.
* Revert wasm files
* Remove old version of `decl_storage`.
* Fix false positive for phantom trait (additional type check on config
build).
* slight changes:
- return token errors instead of panic
- do not use useless intermediate vec
* Update srml/support/procedural/tools/derive/src/lib.rs
remove indent
Co-Authored-By: cheme <emericchevalier.pro@gmail.com >
* Switch iterations to fold, remove unused import.
2018-12-09 21:09:39 +01:00
Bastian Köcher
d149f3358a
Revert and redo #952 ( #1133 )
...
* Revert "Pruning changes trie without digests (#952 )"
This reverts commit 6f9a505fba .
* pruning changes tries without digests
* u64::max_value()
* Update wasm files and fix merge conflict
* Fixes tests
2018-11-18 10:09:18 +01:00
Svyatoslav Nikolsky
6f9a505fba
Pruning changes trie without digests ( #952 )
...
* pruning changes tries without digests
* u64::max_value()
2018-11-17 18:04:53 +01:00
Bastian Köcher
a4e5842915
Introduce a PhantomData field in GenesisConfig ( #1116 )
...
This makes it possible to support `GenesisConfig`s that to do not use
generic parameter.
2018-11-16 16:16:10 +01:00
Sergey Pepyakin
2a9f6bed10
Fix overflow in srml-contract. ( #1113 )
2018-11-14 18:20:42 +01:00
Sergey Pepyakin
1f0f3c8f6b
srml-contract: Extract schedule ( #1044 )
...
* Rename Config → Schedule.
* Fetch and pass config.
* Integrate config everywhere.
* <<<E as Ext>::T as Trait> → <<E::T as Trait>
* Update roots
* Cache existential_deposit
* Update COMPLEXITY.md
* Update roots.
2018-11-12 20:44:05 +01:00
Gav Wood
57b2896332
Remove unneeded Serde requirements ( #1076 )
...
* Remove superfluous serde requirements.
* Try to ensure hash is serde
* Fixups
* Building again
* Attempt to reenable Block (doesn't build)
* Fixes compilation for node cli
* Fixes test compilation
* Fix wasm
* Fix tests
* Remove unneeded changes
* Fix up comments
* Reenable some code
* Compile error when origin misused.
* Remove unnecessary includes of `serde_derive`
* Cleanups
2018-11-12 18:40:18 +01:00
Sergey Pepyakin
9072fce658
srml-contract: Sandbox mem IO according to COMPLEXITY.md ( #939 )
...
* Sandbox mem IO according to COMPLEXITY.md
* Fix tests.
* Update root hash for deploying contract test.
2018-11-05 19:23:16 +01:00
Wei Tang
b21de8a0b5
Support multi trie in genesis generation ( #958 )
...
* Support multi trie in genesis generation
* Fix merge issues
2018-11-01 09:30:03 +01:00
Benjamin Kampmann
50adea6220
Consensus Engines Implementation: Aura ( #911 )
...
* Generalize BlockImport
- move ImportBlock, BlockOrigin, ImportResult into shared sr-primitives
- let Consensus provide and traits again
- update consensus traits to latest development
- implement traits on client::Client, test_client::TestClient
- update RHD to use the new import_block API
* Move ImportBlock into consensus-common
* Send import notification in aura tests
* Integrating aura into service
* Make Signatures more generic
* Aura Block Production with the given key
* run aura on the thread pool
* start at exact step start in aura
* Add needed wasm blob, in leiu of better solutions.
* Make API ids consistent with traits and bring upstream for sharing.
* Add decrease_free_balance to Balances module
* Encode `Metadata` once instead of two times
* Bitops include xor
* Upgrade key module.
* Default pages to somewhat bigger.
* Introduce upgrade key into node
* Add `Created` event
2018-10-27 15:59:18 +02:00
Bastian Köcher
d3f2a00793
Multiple improvements to the decl_module! macro ( #953 )
...
* General `decl_module` improvements
* Make `deposit_event` implementable by `decl_module!`
* Make `decl_module!` implement calls directly
* Regenerate the wasm file after master rebase
2018-10-26 12:34:25 +02:00
Bastian Köcher
1ba73e0e88
Make decl_module! implement OnFinalise ( #947 )
2018-10-23 09:58:15 +02:00
Sergey Pepyakin
89fd3a78d5
Contracts: COMPLEXITY.md ( #905 )
...
* Initial sketch.
* More work.
* Grammar.
* Fix.
* Fix grammar.
2018-10-17 17:47:55 +02:00
Gav Wood
8bc5242c92
Compact format for block number, nonce, balance ( #910 )
...
* 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
2018-10-16 22:47:30 +02:00
guanqun
26b105b472
fix the ignored tests in doc test ( #898 )
...
* fix ignored test
* move CI to --release per Gav
2018-10-13 15:16:17 +02:00
Bastian Köcher
12f12bff28
Make all copyrights use the correct year ( #894 )
...
* Adds a script for automatically update all copyrights
* Ran the `update-copyright` script
2018-10-10 10:28:41 +02:00
guanqun
1cc0e3b6ea
Enhance decl storage ( #777 )
...
* enhance macro decl_storage()
* update the state root hash
* fix one comment
2018-10-05 14:20:32 +02:00
Sergey Pepyakin
9e476ba0ab
Query dest balance only once + doc. ( #861 )
2018-10-03 13:25:14 +01:00
guanqun
bec80177c0
fix a warning ( #839 )
2018-09-29 09:34:53 +01:00
Sergey Pepyakin
955a5393d8
Load code from the overlay not from the database ( #828 )
2018-09-27 20:56:15 +01:00
Sergey Pepyakin
6af61b8649
Add test that ensures drain funds to death works ( #829 )
2018-09-27 20:55:45 +01:00
Bastian Köcher
2332d6dd04
More dependency cleanup ( #825 )
...
* Removes `rlp` dependency
* Enable warnings about unused crates in the CI
* Remove all the unused crates
* Make tests working again
2018-09-27 17:52:51 +01:00
Sergey Pepyakin
98e0a3a55a
Contracts: Add transfer event ( #801 )
2018-09-25 20:49:18 +01:00
Gav Wood
82d6ca3484
Switch to shiny new fast, RLP-less trie ( #795 )
...
* Bump codec
* Fix tests
* Patricia trie builds
* Introduce trie
* Some yak shaving.
* Some fixes
* Remove RLP ref
* Fixes
* It builds!
* Some tests fixed
* Another test fix
* Rejig more hashes
* substrate-trie::iterator_works test
* Update lock
* Polish
* Docs
* Undo incorrect "fix" for tests
* Fix nits
2018-09-25 16:32:22 +02:00
Sergey Pepyakin
ef97973178
Contracts: clean ( #788 )
...
* Extract `runtime` module
* Restructure & comment code to avoid confusion
2018-09-24 13:31:00 +02:00