Skip to content
  1. Mar 29, 2019
  2. Mar 28, 2019
  3. Mar 22, 2019
    • Kian Peymani's avatar
      Self-Vote for Staking (among others.) (#2078) · 3628a932
      Kian Peymani authored
      * initial doc for the staking module
      
      * Remove md style links.
      
      * Remove todos.
      
      * Add rust code types
      
      * Rename and fix review notes.
      
      * Add new md file
      
      * Final touches.
      
      * Migrate compleatly to rustdoc
      
      * Update link
      
      * Fix heading
      
      * Final touches wrt the new template.
      
      * Remove empty prereq.
      
      * Fix more reviews
      
      * Some final nits.
      
      * Fix some side issues.
      
      * Fix another set of reviews
      
      * Fix + stabilize leftover reivews.
      
      * Remove unused test parameters
      
      * Fix typo.
      
      * Merge redundant loops
      
      * Adds phantom self-vote
      
      * Fix broken tests.
      
      * Refactor some names to match the reference.
      
      * Remove redundant inner loops from election round.
      
      * Introduce phragmen post-processing.
      
      * Some fixes and todos.
      
      * Fix some tests with new phragmen params
      
      * Fix test
      
      * Bump spec
      
      * Fix wasm build
      
      * Fix tests and phragmen fallback. Avoid double-controlling
      
      * Fix and rebuild wasm
      
      * Whitespaces, whitespaces everywhere.
      
      * Rebuild
      
      * Disable post-processing.
      
      * Identify by stash, not controller account.
      
      * Couple of fixes
      
      * Fix first test
      
      * Fix invulnerability_should_work
      
      * Fix a couple more tests
      
      * Fix more tests
      
      * Fix more tests
      
      * Fix more tests
      
      * Fix some tests
      
      * Fix update-ledger.
      
      * Fix update-ledger.
      
      * Fix another test
      
      * Fix another test
      
      * Fix rest of staking tests
      
      * Remove printlns
      
      * Rebuild wasm
      
      * Fix & tests for auth/val syncing
      
      * Fix up threading for tests
      
      * Remove superfluous asserts
      3628a932
  4. Mar 20, 2019
    • Gav Wood's avatar
      Introduce safe types for handling imbalances (#2048) · cc8f93c0
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * Be a little safer with total issuance.
      
      * PairT instead of _Pair
      
      * Remove rev causing upset
      
      * Remove fees stuff.
      
      * Fix build (including tests)
      
      * Update runtime, bump version
      
      * Fix
      
      * Handle gas refunds properly.
      
      * Rename identifier
      
      ala #2025
      
      * Address grumbles
      
      * New not-quite-linear-typing API
      
      * Slimmer API
      
      * More linear-type test fixes
      
      * Fix tests
      
      * Tidy
      
      * Fix some grumbles
      
      * Keep unchecked functions private
      
      * Remove another less-than-safe currency function and ensure that
      contracts module can never create cash.
      
      * Address a few grumbles and fix tests
      cc8f93c0
  5. Mar 15, 2019
  6. Mar 14, 2019
    • Kian Peymani's avatar
      Phragmén Validator Election (#1915) · 375994b0
      Kian Peymani authored
      * adds first draft phragmen with tuned tests and sr-primitives
      
      * fix a few docs and code styles
      
      * clean, organize and finish remaining test cases
      
      * more and more tests
      
      * update edge cases behavior and relavent tests
      
      * fix global test issues
      
      * updated wasm files
      
      * all tests fixed
      
      * cleanup
      
      * fix some global issues
      
      * fix global tests
      
      * bump versions
      
      * fix typo
      
      * first step toward extracting phragmen
      
      * Fix most of the grumbles.
      
      * fix rest of the grumbles
      
      * spaces to tabs
      
      * update wasm
      
      * Removed nightly feature.
      
      * More tests
      
      * Fix broken tests.
      
      * Bump and update wasm.
      375994b0
  7. Mar 13, 2019
    • Gav Wood's avatar
      Overhaul crypto (Schnorr/Ristretto, HDKD, BIP39) (#1795) · 8930f297
      Gav Wood authored
      * Rijig to Ristretto
      
      * Rebuild wasm
      
      * adds compatibility test with the wasm module
      
      * Add Ed25519-BIP39 support
      
      * Bump subkey version
      
      * Update CLI output
      
      * New keys.
      
      * Standard phrase/password/path keys.
      
      * Subkey uses S-URI for secrets
      
      * Move everything to use new HDKD crypto.
      
      * Test fixes
      
      * Ignore old test vector.
      
      * fix the ^^ old test vector.
      
      * Fix tests
      
      * Test fixes
      
      * Cleanups
      
      * Fix broken key conversion logic in grandpa
      
      CC @rphmeier
      
      * Remove legacy Keyring usage
      
      * Traitify `Pair`
      
      * Replace Ed25519AuthorityId with ed25519::Public
      
      * Expunge Ed25519AuthorityId type!
      
      * Replace Sr25519AuthorityId with sr25519::Public
      
      * Remove dodgy crypto type-punning conversions
      
      * Fix some tests
      
      * Avoid trait
      
      * Deduplicate DeriveJunction string decode
      
      * Remove cruft code
      
      * Fix test
      
      * Minor removals
      
      * Build fix
      
      * Subkey supports sign and verify
      
      * Inspect works for public ke...
      8930f297
    • Bastian Köcher's avatar
      Make use of `assimilate_storage` for `GenesisConfig` (#1982) · b36dedee
      Bastian Köcher authored
      * Make use of `assimilate_storage` for `GenesisConfig`
      
      Fixes incorrect initialization of the staking gensis storage.
      
      * Add some documentation
      b36dedee
  8. Mar 06, 2019
  9. Mar 02, 2019
    • Gav Wood's avatar
      Stash/controller model for staking (#1782) · 701fd112
      Gav Wood authored
      * First steps to stash/controller separation
      
      * More drafting
      
      * More drafting
      
      * Finish draft.
      
      * Optimisation
      
      * Remove accidental commit
      
      * Make it build.
      
      * Fix linked map for traits.
      
      * Fix Option<_> variant.
      
      *  Improve naming a tad
      
      * Rebuild runtime
      
      * Builds!
      
      * First test.
      
      * Bump RT version
      
      * Minor fix
      
      * Update Mock
      
      * adds the correct reward testcase (+staking eras which was already ok)
      
      * fixes the basic staking testcase to work properly (along with a small fix in the module)
      
      * New logic to avoid controller transferring stash.
      
      * Fix some build issues.
      
      * adding some comments to tests
      
      * Fix impls.
      
      * adds a few more lines to explain the test case
      
      * More fixes.
      
      * gets the basic test up and running again
      
      * Fix rest of build
      
      * Rebuild wasm
      
      * Fix docs.
      
      * fix staking test with new chnages
      
      * updating some tests, pending questions
      
      * More working tests
      
      * adds double staking test
      
      * Docs
      
      * remove invalid slashing test
      
      * Payee stuff.
      
      * Fix build
      
      * Docs
      
      * Fix test
      
      * Fix a couple of tests
      
      * Layout plan for finishing tests before Pragmen
      
      * Add some working tests
      
      * re-build staking and reward tests
      
      * Add more tests
      
      * fix offline grace test
      
      * Nominator should have payee checked for cleanup
      
      * adds more nomination tets
      
      * adds validator prefs tests
      
      * Fix and clean up some TODOs
      
      * Fix a couple of issues
      
      * Fix tests
      
      * noting warnings from tests
      
      * final fix of local tests
      
      * Fix slot_stake bug
      
      * Half baked test
      
      * Add logic to limit `unstake_threshold` set in storage
      
      * Make sure to check before writing!
      
      Almost forgot this one
      
      * Move a couple of comments
      
      * fix last broken slot_stake test
      
      * Ignore broken test
      701fd112
  10. Feb 28, 2019
    • Michael Müller's avatar
      Telemetry improvements (#1886) · f429a0cb
      Michael Müller authored
      * Fix typo
      
      * Support multiple telemetry endpoints and verbosity levels
      
      * Bump substrate-telemetry version
      
      * Telemetrify Aura consensus
      
      * Telemetrify Grandpa
      
      * Fix CI version conflicts
      
      * Implement style remarks
      
      * Fix fixture
      
      * Implement style remarks
      
      * Clone only when necessary
      
      * Get rid of Arc for URL
      
      * Handle connection issues better
      f429a0cb
  11. Feb 20, 2019
  12. Feb 15, 2019
    • Xiliang Chen's avatar
      Transaction Fee Module (#1648) · 14ee64c3
      Xiliang Chen authored
      * 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.
      14ee64c3
  13. Feb 10, 2019
    • Gav Wood's avatar
      Vesting schedules. (#1726) · f58a6f72
      Gav Wood authored
      * Vesting.
      
      * Vesting stuff.
      
      * Add new wasm blobs
      
      * Bump runtime version
      
      * Update lock
      
      * Fix tests
      
      * Bump version
      f58a6f72
  14. Jan 30, 2019
    • Benjamin Kampmann's avatar
      Document more TODOs as tickets (#1418) · 4fa9fb66
      Benjamin Kampmann authored
      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.
      4fa9fb66
  15. Jan 29, 2019
  16. Jan 22, 2019
    • Bastian Köcher's avatar
      Rewrite Inherent data (#1488) · 53bf81e5
      Bastian Köcher authored
      
      
      * Implement new inherent data
      
      * Fixes compilation on wasm
      
      * Fixes after rebase
      
      * Switch back to generate inherent stuff by macro
      
      * Update after rebase
      
      * Apply suggestions from code review
      
      Co-Authored-By: default avatarbkchr <[email protected]>
      
      * Fix compilation after rebase
      
      * Address grumbles
      
      * Remove `InherentDataProviders` from `Client`
      
      * Update wasm files after rebase
      
      * Address grumbles
      
      * Fixes compilation after latest merge
      
      * Last fix
      53bf81e5
  17. Jan 16, 2019
    • Gav Wood's avatar
      Split Indices module from Balances (#1404) · defa2ec3
      Gav Wood authored
      * 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
      defa2ec3
  18. Jan 09, 2019
    • Gav Wood's avatar
      Cherry updates (#1373) · 5fc4ef6a
      Gav Wood authored
      - Introduce compact extrinsics into Cherry
      - Remove UpgradeKey from Cherry (Sudo is enough)
      - Remove networkId from Cherry properties
      5fc4ef6a
  19. Jan 08, 2019
    • Wei Tang's avatar
      Make AuthorityId generic (#1296) · bc25da55
      Wei Tang authored and Benjamin Kampmann's avatar Benjamin Kampmann committed
      * BlockAuthorityId convenience type
      
      * Rename AuthorityId -> Ed25519AuthorityId to make it more precise
      
      * Generalize AuthorityId up to substrate-client
      
      * Fix in client-db
      
      * rename: BlockAuthorityId -> AuthorityIdFor
      
      * typo: should be digest item
      
      * Fix test-runtime authorityId mismatch
      
      One states that AuthorityId is u64 while the other states that it's Ed25519AuthorityId.
      
      * Fix more u64 - Ed25519AuthorityId mismatch
      
      * Fix compile of most of the srml modules
      
      * Continue to pin aura and grandpa with ed25519 and fix compile
      
      * Add MaybeHash trait
      
      * Fix node-runtime compile
      
      * Fix network tests
      bc25da55
  20. Jan 07, 2019
  21. Dec 21, 2018
    • Gav Wood's avatar
      Sudo module (#1315) · f847f59f
      Gav Wood authored
      * Sudo module
      
      * Fix comment
      
      * Fix errors
      
      * Fix test
      
      * Update hashes
      
      * Final test fixes and build
      
      * Final hex change
      f847f59f
  22. Dec 17, 2018
  23. Dec 15, 2018
    • André Silva's avatar
      Remove grandpa liveness oracle (#1271) · 0370a157
      André Silva authored and asynchronous rob's avatar asynchronous rob committed
      * core: support broadcasting consensus message to all peers
      
      * grandpa: remove liveness oracle
      
      * node: always start grandpa on full nodes
      
      * core: don't check for grandpa justifications on failed block imports
      
      * core: fix network connectivity test
      0370a157
  24. Dec 13, 2018
    • Gav Wood's avatar
      Lock-voting (#1254) · 0dd72145
      Gav Wood authored and asynchronous rob's avatar asynchronous rob committed
      * Optionally long lock voting
      
      * Lock voting.
      
      * Fix tests
      
      * Comment update
      
      * Comments
      
      * Minor grumbles
      
      * Docs.
      0dd72145
  25. Dec 12, 2018
  26. Dec 10, 2018
    • asynchronous rob's avatar
      Punish offline validators, aura-style (#1216) · 691e6e8f
      asynchronous rob authored
      * make offline-reporting infrastructure more generic
      
      * add a listener-trait for watching when the timestamp has been set
      
      * prevent inclusion of empty offline reports
      
      * add test for exclusion
      
      * generate aura-offline reports
      
      * ability to slash many times for being offline "multiple" times
      
      * Logic for punishing validators for missing aura steps
      
      * stub tests
      
      * pave way for verification of timestamp vs slot
      
      * alter aura import queue to wait for timestamp
      
      * check timestamp matches seal
      
      * do inherent check properly
      
      * service compiles
      
      * all tests compile
      
      * test srml-aura logic
      
      * aura tests pass
      
      * everything builds
      
      * some more final tweaks to block authorship for aura
      
      * switch to manual delays before step
      
      * restore substrate-consensus-aura to always std and address grumbles
      
      * update some state roots in executor tests
      
      * node-executor tests pass
      
      * get most tests passing
      
      * address grumbles
      691e6e8f
    • Gav Wood's avatar
      Governance: Voters put money where mouth is (#1183) · 18d818b5
      Gav Wood authored
      * Referendums only gett enacted after a delay; successful voters must
      lock funds up until enactment.
      
      * Build fixes.
      
      * Configurable council enact delay, fix test builds.
      
      * Fix spelling
      
      * Remove TODO
      18d818b5
  27. Dec 09, 2018
    • cheme's avatar
      `decl_storage` as a proc_macro (#1176) · 2ad85dab
      cheme authored
      
      
      * `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: default avatarcheme <[email protected]>
      
      * Switch iterations to fold, remove unused import.
      2ad85dab
  28. Dec 03, 2018
  29. Nov 21, 2018
    • asynchronous rob's avatar
      Minimal switch of substrate-node to GRANDPA /Aura (#1128) · 3a8a3925
      asynchronous rob authored
      
      
      * add beginnings of SRML grandpa library
      
      * get srml-grandpa compiling
      
      * tests for srml-grandpa
      
      * add optional session integration to grandpa SRML
      
      * start integration into node runtime
      
      * Allow extracting pending change from header digest
      
      * Make it compile on wasm
      
      * make tests compile again
      
      * Move Authority Key fetching into service, simplify service factory construction
      
      * Generalize Authority Consensus Setup system
      
      * Add Authority Setup Docs
      
      * Allow CLI params to be extensible
      
       - move params to structopts
       - split parsing and default command execution
       - add custom config to node
       - extended parsing of custom config
       - extending params via structop's flatten
      
      * Minor fixes on cli extension params:
       - added docs
       - re-add actual app name, rather than node-name
       - make strategy and subcommand optional
      
      * better cli params
      
      * synchronize GRANDPA and normal node authorities
      
      * Implement grandpa::network for gossip consensus
      
      * run_grandpa in Node
      
      * Fix missed merge error
      
      * Integrate grandpa import queue
      
      * more specific type def
      
      * link up linkhalf and import block
      
      * make grandpa future send
      
      * get compiling
      
      * Fix new params convention and license header
      
      * get it running
      
      * rebuild node runtime WASM
      
      * change logging level
      
      * Update node/cli/src/params.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/params.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/runtime/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Update node/cli/src/lib.rs
      
      Co-Authored-By: default avatarrphmeier <[email protected]>
      
      * Clean up and Fixme for mutable config
      
      * Move GrandpaService Integration into grandpa, feature gated but on per default
      
      * Fixing grandpa runtime module test
      
      * Update wasm runtime hashes for tests
      
      * GRANDPA: use post-header hash when logging scheduled changes
      
      * add an extra bit of logging to authorities
      
      * fixing missing constrain
      
      * remove old code
      
      * move `NewAuthorities` to an event in srml-grandpa
      
      * fix node-executor tests to use grandpa log
      
      * Remove GossipConsensus from tests, use newly provided sync-feature, fixes tests
      
      * Update to latest wasm runtimes
      
      * address grumbles
      
      * address grumbles
      
      * only derive deserialize when using std
      
      * Clean up use of Deserialize
      3a8a3925
  30. Nov 18, 2018
    • Bastian Köcher's avatar
      Revert and redo #952 (#1133) · e59521d2
      Bastian Köcher authored
      * Revert "Pruning changes trie without digests (#952)"
      
      This reverts commit 468d4698.
      
      * pruning changes tries without digests
      
      * u64::max_value()
      
      * Update wasm files and fix merge conflict
      
      * Fixes tests
      e59521d2
  31. Nov 17, 2018
  32. Nov 16, 2018
  33. Nov 12, 2018
    • Sergey Pepyakin's avatar
      srml-contract: Extract schedule (#1044) · f64ebee2
      Sergey Pepyakin authored
      * 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.
      f64ebee2
    • azban's avatar
      test-utils: add chain-spec-builder cli (#1061) · 3f4cfeee
      azban authored
      * test-utils: add chain-spec-builder cli
      
      * style changes, mostly indentation
      
      * fix padding
      
      * add issue to todo
      
      * more style fixes
      
      * share seed padding with keystore
      
      * fix master rebase error
      3f4cfeee
    • Andrew Jones's avatar
      RPC: expose chain spec `properties` (#1104) · 8e8f86c4
      Andrew Jones authored
      * Add properties to chain spec
      
      * Read properties as serde_json::Value
      
      * Use a serde json::map::Map directly for properties
      
      * Add type alias for json Map
      
      * Update chain_spec.rs
      8e8f86c4
  34. Nov 06, 2018
    • Hero Bird's avatar
      Update fixed-hash & uint utilities (#1078) · 2a889b15
      Hero Bird authored
      * [core/primitives] Update crunchy 0.1 => 0.2
      
      * [core/primitives] Update fixed-hash 0.2 => 0.3.0-beta
      
      * [core/primitives] Update `uint` 0.4 => 0.5.0-beta
      
      * [core/state-machine] Fix errors emerged by fixed-hash update
      
      * [core/state-db] Fix errors that emerged from fixed-hash update
      
      * [core/sr-io] Fix errors that emerged from the fixed-hash update
      
      * [core/trie] Fix errors emerged from fixed-hash updates
      
      * [core/trie] Make use of new Hash::as_fixed_bytes_mut method in tests
      
      * [core/sr-primitives] Fix errors emerged from updating fixed-hash
      
      * [core/executor] Fix errors that emerged from fixed-hash update
      
      * [core/test-runtime] Fix errors that emerged from updating fixed-hash
      
      * [core/test-runtime] Fix an error that emerged from fixed-hash update
      
      * [core/transaction-pool] Fix errors that emerged from updating fixed-hash
      
      * Add From<u64> impl for hash types defined in core/primitives
      
      * [core/client/db] Fix errors that emerged from fixed-hash update
      
      * [core/{client/network/rpc}]: Fix errors emerged by fixed-hash update
      
      * [node/{cli/executor/runtime}]: Fix errors emerged by updating fixed-hash
      
      * [core/network]: Fix bug in parsing constant str
      
      * Update Cargo.lock
      
      - Add crunchy 0.2.1
      - fixed-hash 0.2.2 => 0.3.0-beta.3
      - Add static-assertions 0.2.5
      - uint 0.4.1 => 0.5.0-beta.1
      
      * [core/primitives]: Add fixed-hash/rustc-hex feature for FromStr impl
      
      * [core/primitives] No longer provide From<u64> impl for hash types if byteorder support is not enabled
      
      * [core/primitives] Revert to using From impl again in primitives tests
      
      * [core/..] Fix some bugs that emerged by recent fixed-hash updates
      
      * Update a bunch of Cargo.lock files
      
      * [core/state-db] Re-add whitespace between attr and extern crate/mod
      
      * [core/primitives] Fix bug in From<u64> impl for hash types using the wrong feature guard
      2a889b15
  35. Oct 27, 2018
    • Benjamin Kampmann's avatar
      Consensus Engines Implementation: Aura (#911) · 101d673c
      Benjamin Kampmann authored
      * 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
      101d673c