Skip to content
  1. Mar 18, 2021
  2. Mar 17, 2021
  3. Mar 14, 2021
    • Gavin Wood's avatar
      New slots/auctions architecture (#2294) · edd81bf6
      Gavin Wood authored
      
      
      * TODOs
      
      * Add auctions.rs, comment on changes needed.
      
      * Remove cruft from slots
      
      * Remove more from auctions.rs
      
      * More logic drafting in slots.
      
      * More logic in slots.rs
      
      * patch some errors
      
      * more fixes
      
      * last nit
      
      * Cleanups in slots.rs
      
      * Cleanups in slots.rs
      
      * patches
      
      * make build
      
      * crowdloan to new api
      
      * auction compile
      
      * Use ParaId instead of FundIndex in Crowdloan (#2303)
      
      * use paraid instead of fundindex
      
      * Update crowdloan.rs
      
      * check caller is manager
      
      * Auction tests and fix build warnings.
      
      * Configurable origin for initiating auctions
      
      * Remove on_finalize
      
      * #2303 (manual merge)
      
      * Tests for Slots
      
      * some registrar tests
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Update runtime/common/src/slots.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * Slots uses Registrar for CurrentChains
      
      * swap works test
      
      * on swap impl
      
      * traitify parachain cleanup
      
      * explicit lifecycle tracking for paras
      
      * initial implementation of lifecycles and upgrades
      
      * clean up a bit
      
      * Update runtime/common/src/slots.rs
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      
      * fix doc comment
      
      * more rigid lifecycle checks
      
      * include paras which are transitioning, and lifecycle query
      
      * format guide
      
      * update api
      
      * update guide
      
      * explicit outgoing state, fix genesis
      
      * handle outgoing with transitioning paras
      
      * Revert "explicit lifecycle tracking for paras"
      
      This reverts commit 4177af7ba473bbd9c26bccd861793f25265b6657.
      
      * remove lifecycle tracking from registrar
      
      * do not include transitioning paras in identifier
      
      * Update paras_registrar.rs
      
      * final patches to registrar
      
      * Fix test
      
      * use noop in test
      
      * clean up pending swap on deregistration
      
      * finish registrar tests
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Update roadmap/implementers-guide/src/runtime/paras.md
      
      * Apply suggestions from code review
      
      * Use matches macro
      
      * Correct terms
      
      * Apply suggestions from code review
      
      * Remove direct need for Slots and Registrar from Crowdloan
      
      * Rejig things slightly
      
      * actions queue
      
      * Revert "actions queue"
      
      This reverts commit b2e9011ec8937d6c73e99292416c9692aeb30f73.
      
      * Traitify Auction interface.
      
      * Mockups and initial code for Crowdloan testing
      
      * One test...
      
      * collapse onboarding state
      
      * fix some crowdloan tests
      
      * one more
      
      * start benchmarks for auctions
      
      * benchmark bid
      
      * fix more crowdloan tests
      
      * onboard and begin retirement no longer exist
      
      * Revert "onboard and begin retirement no longer exist"
      
      This reverts commit 2e100fd94e3540bff5f172328b5d917896f1c6fc.
      
      * Simplify crowdloan and make it work.
      
      * Fixes
      
      * fix some
      
      * finish merge fixes
      
      * fix refund bug in auctions
      
      * Add traits to Registrar for tests and benchmarks
      
      * fix more auction benchmarks
      
      * Fix TestAuctioneer
      
      * finish crowdloan benchmarks
      
      * start setting up full integration tests
      
      * expand integration tests
      
      * finish basic integration test
      
      * add more integration tests
      
      * begin slots benchmarks
      
      * start paras registrar benchmarks
      
      * fix merge
      
      * fix tests
      
      * clean up paras registrar
      
      * remove println
      
      * remove outdated cleanup config
      
      * update benchmarks
      
      * Add WeightInfo
      
      * enable runtime-benchmarks feature flag
      
      * complete swap benchmark
      
      * add parachains and onboarding into westend
      
      * add benchmarks and genesis
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=auctions --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * fix benchmark execution
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=crowdloan --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * Use `new_raise_len` in crowdloan on_initialize
      
      * Update paras_registrar.rs
      
      * fix westend merge
      
      * impl on_swap for crowdloan
      
      * Check fund exists before create
      
      * update for crowdloan sig
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=crowdloan --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * slots on_initialize
      
      * use integration tests environment for benchmarks
      
      * fix hrmp event
      
      * auction on_initialize
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=auctions --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * fix storage name in auctions
      
      * add auction_index to winning data
      
      * winning data takes into account current auction index
      
      * remove println
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=auctions --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * Revert "add auction_index to winning data"
      
      * PastRandomness.
      
      * Fixes
      
      * Use new randomness
      
      * fix use of randomness in auctions and runtime config
      
      * expose consts
      
      * fix auction test
      
      * add deposit per byte for para registration
      
      * basic swap integration test
      
      * make swap test more comprehensive
      
      * Add WinningVec for easier retrieval in the front-end.
      
      * clean up `WinningVec` at the end
      
      * Add event for when a new best bid comes in
      
      * Fix propagation of winners in ending period
      
      * fix benchmarks, refund weight in dissolve
      
      * fix unused
      
      * remove some TODOs
      
      * setup opaque keys for paras in westend
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=crowdloan --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * remove unused
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=auctions --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * back to regular runtime config
      
      * use saturating math where user input can be
      
      * better first slot check
      
      * Update runtime/common/src/claims.rs
      
      * update westend onswap impl
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      edd81bf6
  4. Mar 12, 2021
  5. Mar 11, 2021
  6. Mar 10, 2021
    • Tomasz Drwięga's avatar
      Companion for #8137 (MMR Custom RPC) (#2463) · 639dcc2e
      Tomasz Drwięga authored
      * Switch branch
      
      * Fix compilation.
      
      * Revert "Switch branch"
      
      This reverts commit a3bd3621772ae98618c46102d03501856b7950ba.
      
      * Update Cargo.lock.
      
      * Add telemetry span back.
      
      * Fix telemetry_span issues.
      
      * Update substrate.
      639dcc2e
    • ordian's avatar
      prefix parachain log targets with parachain:: (#2600) · baa691de
      ordian authored
      * prefix parachain log targets with parachain::
      
      * even more consistent
      baa691de
    • Ashley's avatar
      Companion PR for substrate PR 8072 - Add a config field to babe epochs (#2467) · 956be35d
      Ashley authored
      * Add a config field to babe epochs
      
      * Fix test
      
      * Add BABE_GENESIS_EPOCH_CONFIG consts
      
      * Use PrimaryAndSecondaryVRFSlots and remove newlines
      
      * Make epoch_configs Some
      
      * Fix tests
      
      * Fix test service tests
      
      * Add a BabeEpochConfigMigrations OnRuntimeUpgrade
      
      * Apply suggestions
      
      * Use PrimaryAndSecondaryPlainSlots in kusama
      
      * Remove migration from test runtime and rococo
      
      * Add HasPalletPrefix
      
      * Rename to BabePalletPrefix and change BabeApi -> Babe
      
      * "Update Substrate"
      
      * Update substrate
      
      * Resolve parantheses errors
      
      Co-authored-by: parity-processbot <>
      956be35d
  7. Mar 09, 2021
  8. Mar 06, 2021
  9. Mar 05, 2021
  10. Mar 02, 2021
  11. Feb 25, 2021
  12. Feb 24, 2021
  13. Feb 23, 2021
    • asynchronous rob's avatar
      Approval Checking Improvements Omnibus (#2480) · 3300b533
      asynchronous rob authored
      * add tracing to approval voting
      
      * notify if session info is not working
      
      * add dispute period to chain specs
      
      * propagate genesis session to parachains runtime
      
      * use `on_genesis_session`
      
      * protect against zero cores in computation
      
      * tweak voting rule to be based off of best and add logs
      
      * genesis configuration should use VRF slots only
      
      * swallow more keystore errors
      
      * add some docs
      
      * make validation-worker args non-optional and update clap
      
      * better tracing for bitfield signing and provisioner
      
      * pass amount of bits in bitfields to inclusion instead of recomputing
      
      * debug -> warn for some logs
      
      * better tracing for availability recovery
      
      * a little av-store tracing
      
      * bridge: forward availability recovery messages
      
      * add missing try_from impl
      
      * some more tracing
      
      * improve approval distribution tracing
      
      * guide: hold onto pending approval messages until NewBlocks
      
      * Hold onto pending approval messages until NewBlocks
      
      * guide: adjust comment
      
      * process all actions for one wakeup at a time
      
      * vec
      
      * fix network bridge test
      
      * replace randomness-collective-flip with Babe
      
      * remove PairNotFound
      3300b533
  14. Feb 19, 2021
  15. Feb 18, 2021
  16. Feb 17, 2021
    • asynchronous rob's avatar
      A fast-path for requesting `AvailableData` from backing validators (#2453) · b7aac513
      asynchronous rob authored
      
      
      * guide changes for a fast-path requesting from backing validators
      
      * add backing group to availability recovery message
      
      * add new phase to interaction
      
      * typos
      
      * add full data messages
      
      * handle new network messages
      
      * dispatch full data requests
      
      * cleanup
      
      * check chunk index
      
      * test for invalid recovery
      
      * tests
      
      * Typos.
      
      * fix some grumbles
      
      * be more explicit about error handling and control flow
      
      * fast-path param
      
      * use with_chunks_only in Service
      
      Co-authored-by: default avatarRobert Klotzner <[email protected]>
      b7aac513
    • Cecile Tonglet's avatar
      Polkadot companion for #8043 (#2382) · 0771537a
      Cecile Tonglet authored
      * WIP
      
      * WIP
      
      * WIP
      
      * Revert branch change
      
      * CLEANUP
      
      * "Update Substrate"
      
      * Fix build
      
      * Revert "Fix build"
      
      This reverts commit 2dcc3f2a14d28febb84c2c35d682243bc03523a8.
      
      * cargo update -p sp-io
      
      Co-authored-by: parity-processbot <>
      0771537a
  17. Feb 16, 2021
    • asynchronous rob's avatar
      Integrate Approval Voting into Overseer / Service / GRANDPA (#2412) · 4f21cc7e
      asynchronous rob authored
      * integrate approval voting into overseer
      
      * expose public API and make keystore arc
      
      * integrate overseer in service
      
      * guide: `ApprovedAncestor` returns block number
      
      * return block number along with hash from ApprovedAncestor
      
      * introduce a voting rule for reporting on approval checking
      
      * integrate the delay voting rule
      
      * Rococo configuration
      
      * fix compilation and add slack
      
      * fix web-wasm build
      
      * tweak parameterization
      
      * migrate voting rules to asycn
      
      * remove hack comment
      4f21cc7e
  18. Feb 15, 2021
  19. Feb 12, 2021
  20. Feb 11, 2021
    • asynchronous rob's avatar
      Implement Approval Voting Subsystem (#2112) · e48c6875
      asynchronous rob authored
      
      
      * skeleton
      
      * skeleton aux-schema module
      
      * start approval types
      
      * start aux schema with aux store
      
      * doc
      
      * finish basic types
      
      * start approval types
      
      * doc
      
      * finish basic types
      
      * write out schema types
      
      * add debug and codec impls to approval types
      
      * add debug and codec impls to approval types
      
      also add some key computation
      
      * add debug and codec impls to approval types
      
      * getters for block and candidate entries
      
      * grumbles
      
      * remove unused AssignmentId
      
      * load_decode utility
      
      * implement DB clearing
      
      * function for adding new block entry to aux store
      
      * start `canonicalize` implementation
      
      * more skeleton
      
      * finish implementing canonicalize
      
      * tag TODO
      
      * implement a test AuxStore
      
      * add allow(unused)
      
      * basic loading and deleting test
      
      * block_entry test function
      
      * add a test for `add_block_entry`
      
      * ensure range is exclusive at end
      
      * test clear()
      
      * test that add_block sets children
      
      * add a test for canonicalize
      
      * extract Pre-digest from header
      
      * utilities for extracting RelayVRFStory from the header-chain
      
      * add approval voting message types
      
      * approval distribution message type
      
      * subsystem skeleton
      
      * state struct
      
      * add futures-timer
      
      * prepare service for babe slot duration
      
      * more skeleton
      
      * better integrate AuxStore
      
      * RelayVRF -> RelayVRFStory
      
      * canonicalize
      
      * implement some tick functionality
      
      * guide: tweaks
      
      * check_approval
      
      * more tweaks and helpers
      
      * guide: add core index to candidate event
      
      * primitives: add core index to candidate event
      
      * runtime: add core index to candidate events
      
      * head handling (session window)
      
      * implement `determine_new_blocks`
      
      * add TODO
      
      * change error type on functions
      
      * compute RelayVRFModulo assignments
      
      * compute RelayVRFDelay assignments
      
      * fix delay tranche calc
      
      * assignment checking
      
      * pluralize
      
      * some dummy code for fetching assignments
      
      * guide: add babe epoch runtime API
      
      * implement a current_epoch() runtime API
      
      * compute assignments
      
      * candidate events get backing group
      
      * import blocks and assignments into DB
      
      * push block approval meta
      
      * add message types, no overseer integration yet
      
      * notify approval distribution of new blocks
      
      * refactor import into separate functions
      
      * impl tranches_to_approve
      
      * guide: improve function signatures
      
      * guide: remove Tick from ApprovalEntry
      
      * trigger and broadcast assignment
      
      * most of approval launching
      
      * remove byteorder crate
      
      * load blocks back to finality, except on startup
      
      * check unchecked assignments
      
      * add claimed core to approval voting message
      
      * fix checks
      
      * assign only to backing group
      
      * remove import_checked_assignment from guide
      
      * newline
      
      * import assignments
      
      * abstract out a bit
      
      * check and import approvals
      
      * check full approvals from assignment import too
      
      * comment
      
      * create a Transaction utility
      
      * must_use
      
      * use transaction in `check_full_approvals`
      
      * wire up wakeups
      
      * add Ord to CandidateHash
      
      * wakeup refactoring
      
      * return candidate info from add_block_entry
      
      * schedule wakeups
      
      * background task: do candidate validation
      
      * forward candidate validation requests
      
      * issue approval votes when requested
      
      * clean up a couple TODOs
      
      * fix up session caching
      
      * clean up last unimplemented!() items
      
      * fix remaining warnings
      
      * remove TODO
      
      * implement handle_approved_ancestor
      
      * update Cargo.lock
      
      * fix runtime API tests
      
      * guide: cleanup assignment checking
      
      * use claimed candidate index instead of core
      
      * extract time to a trait
      
      * tests module
      
      * write a mock clock for testing
      
      * allow swapping out the clock
      
      * make abstract over assignment criteria
      
      * add some skeleton tests and simplify params
      
      * fix backing group check
      
      * do backing group check inside check_assignment_cert
      
      * write some empty test functions to implement
      
      * add a test for non-backing
      
      * test that produced checks pass
      
      * some empty test ideas
      
      * runtime/inclusion: remove outdated TODO
      
      * fix compilation
      
      * av-store: fix tests
      
      * dummy cert
      
      * criteria tests
      
      * move `TestStore` to main tests file
      
      * fix unused warning
      
      * test harness beginnings
      
      * resolve slots renaming fallout
      
      * more compilation fixes
      
      * wip: extract pure data into a separate module
      
      * wip: extract pure data into a separate module
      
      * move types completely to v1
      
      * add persisted_entries
      
      * add conversion trait impls
      
      * clean up some warnings
      
      * extract import logic to own module
      
      * schedule wakeups
      
      * experiment with Actions
      
      * uncomment approval-checking
      
      * separate module for approval checking utilities
      
      * port more code to use actions
      
      * get approval pipeline using actions
      
      * all logic is uncommented
      
      * main loop processes actions
      
      * all loop logic uncommented
      
      * separate function for handling actions
      
      * remove last unimplemented item
      
      * clean up warnings
      
      * State gives read-only access to underlying DB
      
      * tests for approval checking
      
      * tests for approval criteria
      
      * skeleton test module for import
      
      * list of import tests to do
      
      * some test glue code
      
      * test reject bad assignment
      
      * test slot too far in future
      
      * test reject assignment with unknown candidate
      
      * remove loads_blocks tests
      
      * determine_new_blocks back to finalized & harness
      
      * more coverage for determining new blocks
      
      * make `imported_block_info` have less reliance on State
      
      * candidate_info tests
      
      * tests for session caching
      
      * remove println
      
      * extricate DB and main TestStores
      
      * rewrite approval checking logic to counteract early delays
      
      * move state out of function
      
      * update approval-checking tests
      
      * tweak wakeups & scheduling logic
      
      * rename check_full_approvals
      
      * test that assignment import updates candidate
      
      * some approval import tests
      
      * some tests for check_and_apply_approval
      
      * add 'full' qualifier to avoid confusion
      
      * extract should-trigger logic to separate function
      
      * some tests for all triggering
      
      * tests for when we trigger assignments
      
      * test wakeups
      
      * add block utilities for testing
      
      * some more tests for approval updates
      
      * approved_ancestor tests
      
      * new action type for launch approval
      
      * process-wakeup tests
      
      * clean up some warnings
      
      * fix in_future test
      
      * approval checking tests
      
      * tighten up too-far-in-future
      
      * special-case genesis when caching sessions
      
      * fix bitfield len
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      e48c6875
  21. Feb 09, 2021
  22. Feb 04, 2021