Skip to content
  1. Oct 28, 2020
    • Sergey Pepyakin's avatar
      Downward Message Processing implementation (#1859) · 9903bca2
      Sergey Pepyakin authored
      * DMP: data structures and plumbing
      
      * DMP: Implement DMP logic in the router module
      
      DMP: Integrate DMP parts into the inclusion module
      
      * DMP: Introduce the max size limit for the size of a downward message
      
      * DMP: Runtime API for accessing inbound messages
      
      * OCD
      
      Small clean ups
      
      * DMP: fix the naming of the error
      
      * DMP: add caution about a non-existent recipient
      9903bca2
  2. Oct 24, 2020
    • Sergey Pepyakin's avatar
      Runtime API for checking validation outputs (#1842) · abb282df
      Sergey Pepyakin authored
      * annoying whitespaces
      
      * update guide
      
      Add `CheckValidationOutputs` runtime api and also change the
      candidate-validation stuff
      
      * promote ValidationOutputs to global primitives
      
      i.e. move it from node specific primitives to global v1 primitives. This
      will be needed when we share it later in the runtime inclusion module
      
      * refactor acceptance checks in the inclusion module
      
      factor out the common code to share it during the block inclusion and
      for the forthcoming CheckValidationOutputs runtime api.
      
      Also note that the acceptance criteria was updated to incorporate checks
      that exist now in candidate-validation
      
      * plumb the runtime api outside
      
      * extract validation_data from ValidationOutputs
      
      * use runtime-api to check validation outputs
      
      apart from that refactor, update docs and tidy a bit
      
      * Update the maxium code size
      
      This is to fix a test that performs an upgrade.
      abb282df
  3. Oct 16, 2020
  4. Oct 09, 2020
    • Rakan Alhneiti's avatar
      Update to work with async keystore – Companion PR for #7000 (#1740) · bd75a4ce
      Rakan Alhneiti authored
      
      
      * Fix keystore types
      
      * Use SyncCryptoStorePtr
      
      * Borrow keystore
      
      * Fix unused imports
      
      * Fix polkadot service
      
      * Fix bitfield-distribution tests
      
      * Fix indentation
      
      * Fix backing tests
      
      * Fix tests
      
      * Fix provisioner tests
      
      * Removed SyncCryptoStorePtr
      
      * Fix services
      
      * Address PR feedback
      
      * Address PR feedback - 2
      
      * Update CryptoStorePtr imports to be from sp_keystore
      
      * Typo
      
      * Fix CryptoStore import
      
      * Document the reason behind using filesystem keystore
      
      * Remove VALIDATORS
      
      * Fix duplicate dependency
      
      * Mark sp-keystore as optional
      
      * Fix availability distribution
      
      * Fix call to sign_with
      
      * Fix keystore usage
      
      * Remove tokio and fix parachains Cargo config
      
      * Typos
      
      * Fix keystore dereferencing
      
      * Fix CryptoStore import
      
      * Fix provisioner
      
      * Fix node backing
      
      * Update services
      
      * Cleanup dependencies
      
      * Use sync_keystore
      
      * Fix node service
      
      * Fix node service - 2
      
      * Fix node service - 3
      
      * Rename CryptoStorePtr to SyncCryptoStorePtr
      
      * "Update Substrate"
      
      * Apply suggestions from code review
      
      * Update node/core/backing/Cargo.toml
      
      * Update primitives/src/v0.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Fix wasm build
      
      * Update Cargo.lock
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      bd75a4ce
  5. Oct 08, 2020
    • Peter Goodspeed-Niklaus's avatar
      Remove old service, 3rd try (#1776) · c2941a27
      Peter Goodspeed-Niklaus authored
      * Remove old service, 3rd try
      
      i.e.
      Revert "Revert "Remove Old Service, 2nd try (#1732)" (#1758)"
      
      This reverts commit 9a0f08bf
      
      .
      
      Closes #1757.
      
      We now have some evidence that the polkadot validator was producing
      blocks after all; the reason the blocks_constructed metric was 0 was
      that as a new metric it hadn't yet been incorporated into that
      branch's codebase. See
      https://github.com/paritytech/polkadot/issues/1757#issuecomment-700977602
      
      As this PR is based on a newer `master` branch than the previous one,
      that should hopefully no longer be an issue.
      
      * paras trait now has an Origin type
      
      * initial work running a two node local net
      
      * use the right incantations so the nodes produce blocks together
      
      * improve internal documentation
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      c2941a27
  6. Oct 06, 2020
    • ordian's avatar
      NetworkBridge: validator (authorities) discovery api (#1699) · ca89e3ed
      ordian authored
      
      
      * stupid, but it compiles
      
      * redo
      
      * cleanup
      
      * add ValidatorDiscovery to msgs
      
      * sketch network bridge code
      
      * ConnectToAuthorities instead of validators
      
      * more stuff
      
      * cleanup
      
      * more stuff
      
      * complete ConnectToAuthoritiesState
      
      * Update node/network/bridge/src/lib.rs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Collator protocol subsystem (#1659)
      
      * WIP
      
      * The initial implementation of the collator side.
      
      * Improve comments
      
      * Multiple collation requests
      
      * Add more tests and comments to validator side
      
      * Add comments, remove dead code
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * Fix build after suggested changes
      
      * Also connect to the next validator group
      
      * Remove a Future impl and move TimeoutExt to util
      
      * Minor nits
      
      * Fix build
      
      * Change FetchCollations back to FetchCollation
      
      * Try this
      
      * Final fixes
      
      * Fix build
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      * handle multiple in-flight connection requests
      
      * handle cancelled requests
      
      * Update node/core/runtime-api/src/lib.rs
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * redo it again
      
      * more stuff
      
      * redo it again
      
      * update comments
      
      * workaround Future is not Send
      
      * fix trailing spaces
      
      * clarify comments
      
      * bridge: fix compilation in tests
      
      * update more comments
      
      * small fixes
      
      * port collator protocol to new validator discovery api
      
      * collator tests compile
      
      * collator tests pass
      
      * do not revoke a request when the stream receiver is closed
      
      * make revoking opt-in
      
      * fix is_fulfilled
      
      * handle request revokation in collator
      
      * tests
      
      * wait for validator connections asyncronously
      
      * fix compilation
      
      * relabel my todos
      
      * apply Fedor's patch
      
      * resolve reconnection TODO
      
      * resolve revoking TODO
      
      * resolve channel capacity TODO
      
      * resolve peer cloning TODO
      
      * resolve peer disconnected TODO
      
      * resolve PeerSet TODO
      
      * wip tests
      
      * more tests
      
      * resolve Arc TODO
      
      * rename pending to non_revoked
      
      * one more test
      
      * extract utility function into util crate
      
      * fix compilation in tests
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarFedor Sakharov <[email protected]>
      
      * revert pin_project removal
      
      * fix while let loop
      
      * Revert "revert pin_project removal"
      
      This reverts commit ae7f529d8de982ef66c3007dd1ff74c6ddce80d2.
      
      * fix compilation
      
      * Update node/subsystem/src/messages.rs
      
      * docs on pub items
      
      * guide updates
      
      * remove a TODO
      
      * small guide update
      
      * fix a typo
      
      * link to the issue
      
      * validator discovery: on_request docs
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarFedor Sakharov <[email protected]>
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      ca89e3ed
    • Sergey Pepyakin's avatar
      Registrar v1 follow-ups (#1786) · 96f6b5ae
      Sergey Pepyakin authored
      * parachains: use the root origin for mock
      
      * registrar: notify the router module about the cleanup
      
      * add missing call to schedule_para_cleanup
      96f6b5ae
  7. Oct 01, 2020
  8. Sep 24, 2020
  9. Sep 22, 2020
  10. Sep 17, 2020
  11. Aug 20, 2020
  12. Aug 18, 2020
    • asynchronous rob's avatar
      Implement validation data refactor (#1585) · 262574fc
      asynchronous rob authored
      
      
      * update primitives
      
      * correct parent_head field
      
      * make hrmp field pub
      
      * refactor validation data: runtime
      
      * refactor validation data: messages
      
      * add arguments to full_validation_data runtime API
      
      * port runtime API
      
      * mostly port over candidate validation
      
      * remove some parameters from ValidationParams
      
      * guide: update candidate validation
      
      * update candidate outputs
      
      * update ValidationOutputs in primitives
      
      * port over candidate validation
      
      * add a new test for no-transient behavior
      
      * update util runtime API wrappers
      
      * candidate backing
      
      * fix missing imports
      
      * change some fields of validation data around
      
      * runtime API impl
      
      * update candidate validation
      
      * fix backing tests
      
      * grumbles from review
      
      * fix av-store tests
      
      * fix some more crates
      
      * fix provisioner tests
      
      * fix availability distribution tests
      
      * port collation-generation to new validation data
      
      * fix overseer tests
      
      * Update roadmap/implementers-guide/src/node/utility/candidate-validation.md
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      262574fc
    • Shawn Tabrizi's avatar
      Companion for Substrate 6868 (WeightInfo for System, Utility, and Timestamp) (#1606) · ae37a00c
      Shawn Tabrizi authored
      * fix compile warning
      
      * remove tests for weights
      
      * add custom weights
      
      * "Update Substrate"
      
      Co-authored-by: parity-processbot <>
      ae37a00c
  13. Aug 17, 2020
  14. Aug 05, 2020
  15. Aug 04, 2020
    • Shawn Tabrizi's avatar
      Unalias Substrate Imports (#1530) · 73f09e51
      Shawn Tabrizi authored
      
      
      * cargo.toml updates
      
      * session and system
      
      * more
      
      * more
      
      * more
      
      * more
      
      * more
      
      * fix
      
      * compiles
      
      * fix tests
      
      * fix more tests
      
      * fix mock
      
      * fix deleted space
      
      * Update validation/Cargo.toml
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Update Cargo.lock
      
      * update rococo
      
      * remove unused warning
      
      * update add benchmarks
      
      * rename weight file
      
      * forgot a file
      
      * Update chain_spec.rs
      
      * Revert "remove unused warning"
      
      This reverts commit 4227cd0d1525286fb466dccb817564c9b37f8645.
      
      * fix merge
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      73f09e51
  16. Aug 03, 2020
  17. Jul 31, 2020
    • Fedor Sakharov's avatar
      Parachains-runtime (#1505) · 047e2fdb
      Fedor Sakharov authored
      * Initial commit
      
      * v0 to v1 primitives and remove attestations
      
      * Review fixes
      
      * implement candidate_events
      
      * remove dead code
      047e2fdb
  18. Jul 29, 2020
  19. Jul 28, 2020
  20. Jul 23, 2020
    • asynchronous rob's avatar
      Include a reference to the validation data in the candidate descriptor (#1442) · 09f602f8
      asynchronous rob authored
      * rename GlobalValidationSchedule to GlobalValidationData
      
      * guide: update candidate descriptor to contain validation data hash
      
      * guide: add note in inclusion module about checking validation data hash
      
      * primitives: update CandidateDescriptor to contain new hash
      
      * fix payload computation
      
      * add helpers for computing validation data to runtime modules
      
      * guide: note routines
      
      * inclusion: check validation data hash and fix local_validation_data bug
      
      * add a case to candidate_checks and improve that test substantially
      
      * bump versions
      
      * address review comments
      
      * add a test for including code upgrade
      
      * bump kusama version
      
      * bump westend & polkadot versions
      09f602f8
  21. Jul 22, 2020
  22. Jul 21, 2020
  23. Jul 18, 2020
    • asynchronous rob's avatar
      Implement Runtime APIs (#1411) · dddde219
      asynchronous rob authored
      * create a README on Runtime APIs
      
      * add ParaId type
      
      * write up runtime APIs
      
      * more preamble
      
      * rename
      
      * rejig runtime APIs
      
      * add occupied_since to `BlockNumber`
      
      * skeleton crate for runtime API subsystem
      
      * improve group_for_core
      
      * improve docs on availability cores runtime API
      
      * guide: freed -> free
      
      * add primitives for runtime APIs
      
      * create a v1 ParachainHost API trait
      
      * guide: make validation code return `Option`al.
      
      * skeleton runtime API helpers
      
      * make parachain-host runtime-generic
      
      * skeleton for most runtime API implementation functions
      
      * guide: add runtime API helper methods
      
      * implement new helpers of the inclusion module
      
      * guide: remove retries check, as it is unneeded
      
      * implement helpers for scheduler module for Runtime APIs
      
      * clean up `validator_groups` implementation
      
      * implement next_rotation_at and last_rotation_at
      
      * guide: more helpers on GroupRotationInfo
      
      * almost finish implementing runtime APIs
      
      * add explicit block parameter to runtime API fns
      
      * guide: generalize number parameter
      
      * guide: add group_responsible to occupied-core
      
      * update primitives due to guide changes
      
      * finishing touches on runtime API implementation; squash warnings
      
      * break out runtime API impl to separate file
      
      * add tests for next_up logic
      
      * test group rotation info
      
      * point to filed TODO
      
      * remove unused TODO [now]
      
      * indentation
      
      * guide: para -> para_id
      
      * rename para field to para_id for core meta
      
      * remove reference to outdated AvailabilityCores type
      
      * add an event in `inclusion` for candidates being included or timing out
      
      * guide: candidate events
      
      * guide: adjust language
      
      * Candidate events type from guide and adjust inclusion event
      
      * implement `candidate_events` runtime API
      
      * fix runtime test compilation
      
      * max -> min
      
      * fix typos
      
      * guide: add `RuntimeAPIRequest::CandidateEvents`
      dddde219
  24. Jul 17, 2020
  25. Jul 10, 2020
    • asynchronous rob's avatar
      Refactor primitives (#1383) · 3b13cd9a
      asynchronous rob authored
      * create a v1 primitives module
      
      * Improve guide on availability types
      
      * punctuate
      
      * new parachains runtime uses new primitives
      
      * tests of new runtime now use new primitives
      
      * add ErasureChunk to guide
      
      * export erasure chunk from v1 primitives
      
      * subsystem crate uses v1 primitives
      
      * node-primitives uses new v1 primitives
      
      * port overseer to new primitives
      
      * new-proposer uses v1 primitives (no ParachainHost anymore)
      
      * fix no-std compilation for primitives
      
      * service-new uses v1 primitives
      
      * network-bridge uses new primitives
      
      * statement distribution uses v1 primitives
      
      * PoV distribution uses v1 primitives; add PoV::hash fn
      
      * move parachain to v0
      
      * remove inclusion_inherent module and place into v1
      
      * remove everything from primitives crate root
      
      * remove some unused old types from v0 primitives
      
      * point everything else at primitives::v0
      
      * squanch some warns up
      
      * add RuntimeDebug import to no-std as well
      
      * port over statement-table and validation
      
      * fix final errors in validation and node-primitives
      
      * add dummy Ord impl to committed candidate receipt
      
      * guide: update CandidateValidationMessage
      
      * add primitive for validationoutputs
      
      * expand CandidateValidationMessage further
      
      * bikeshed
      
      * add some impls to omitted-validation-data and available-data
      
      * expand CandidateValidationMessage
      
      * make erasure-coding generic over v1/v0
      
      * update usages of erasure-coding
      
      * implement commitments.hash()
      
      * use Arc<Pov> for CandidateValidation
      
      * improve new erasure-coding method names
      
      * fix up candidate backing
      
      * update docs a bit
      
      * fix most tests and add short-circuiting to make_pov_available
      
      * fix remainder of candidate backing tests
      
      * squanching warns
      
      * squanch it up
      
      * some fallout
      
      * overseer fallout
      
      * free from polkadot-test-service hell
      3b13cd9a
  26. Jul 09, 2020
    • Fedor Sakharov's avatar
      CandidateBackingSubsystem (#1312) · c1196278
      Fedor Sakharov authored
      * Updates guide for CandidateBacking
      
      * Move assignment types to primitives
      
      * Initial implementation.
      
      * More functionality
      
      * use assert_matches
      
      * Changes to report misbehaviors
      
      * Some fixes after a review
      
      * Remove a blank line
      
      * Update guide and some types
      
      * Adds run_job function
      
      * Some comments and refactorings
      
      * Fix review
      
      * Remove warnings
      
      * Use summary in kicking off validation
      
      * Parallelize requests
      
      * Validation provides local and global validation params
      
      * Test issued validity tracking
      
      * Nits from review
      c1196278
    • asynchronous rob's avatar
      Delay session changes' effects on parachains by 1 block (#1354) · 8130d821
      asynchronous rob authored
      
      
      * note that the initializer is responsible for buffering session changes
      
      * amend initializer definition to include session change buffering
      
      * support buffered changes before `on_initialize`
      
      * implement and test session buffering
      
      * Update roadmap/implementors-guide/src/runtime/README.md
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * expand on how this affects misbehavior reports
      
      * fix typo
      
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      8130d821
  27. Jul 08, 2020
  28. Jul 07, 2020
  29. Jun 30, 2020
    • Peter Goodspeed-Niklaus's avatar
      impl ProvideInherent for InclusionInherent (#1318) · 90de5591
      Peter Goodspeed-Niklaus authored
      * impl ProvideInherent for InclusionInherent
      
      * reduce import churn; correct expect message
      
      * move inclusion inherent identifier into primitives
      
      It's not clear precisely why this is desired, but it's a pattern
      I've seen in several places, so I'm going this to be on the
      safe side. Worst case, we can revert this commit pretty easily.
      
      * bump kusama spec_version to placate CI
      
      * add license header
      
      * empty commit; maybe github will notice the one with changes
      
      * add sanity check to only include valid inherents
      90de5591
  30. Jun 20, 2020
    • Peter Goodspeed-Niklaus's avatar
      signed wrapper (#1283) · 14ce04c9
      Peter Goodspeed-Niklaus authored
      
      
      * add signed wrapper, typedef SignedStatement
      
      * typedef SignedAvailabilityBitfield
      
      * implement Signed wrapper
      
      This is strictly an addition as of this commit; nothing is yet
      changed in existing behavior.
      
      * inline getters, remove review comment
      
      * move EncodeAs, Signed from node::primitives to primitives::parachain
      
      * Refactor SignedAvailabilityBitfield to use Signed
      
      * don't double-encode real payload
      
      This isn't an ideal solution, because it depends on the
      implementation details of how SCALE encodes tuples, but OTOH
      that behavior seems unlikely to change anytime soon.
      
      * fix build errors
      
      * cause the runtime to build properly with the new changes
      
      Not sure why cargo check didn't catch this earlier; oh well.
      
      * fix runtime tests and separate SignedStatement from SignedFullStatement
      
      * better explain why CompactStatement exists
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      14ce04c9
  31. Jun 18, 2020
    • asynchronous rob's avatar
      Inclusion Module (#1242) · 879892d3
      asynchronous rob authored
      * add availability bitfield types to primitives
      
      * begin inclusion module
      
      * use GitHub issue link for limitation
      
      * fix some compiler errors
      
      * integrate validators into initializer
      
      * add generic signing context
      
      * make signing-context more generic
      
      * fix issues with inclusion module
      
      * add TODO
      
      * guide: add validators and session index to inclusion
      
      * guide: add session index to change notification
      
      * implement session change logic
      
      * add BackedCandidate type
      
      * guide: refine inclusion pipeline
      
      * guide: rename group_on to group_validators
      
      * guide: add check about collator for parathread
      
      * guide: add last_code_upgrade to paras and use in inclusion
      
      * implement Paras::last_code_upgrade
      
      * implement most checks in process_candidates
      
      * make candidate receipt structs more generic
      
      * make BackedCandidate struct more generic
      
      * use hash param, not block number
      
      * check that candidate is in context of the parent block
      
      * include inclusion module in initializer
      
      * implement enact-candidate
      
      * check that only occupied cores have bits set
      
      * finish implementing bitfield processing
      
      * restructure consistency checks on candidates
      
      * make some more primitives generic
      
      * signature checking logic for backed candidates
      
      * finish implementing process_candidates
      
      * implement collect_pending
      
      * add some trait implementations to primitives
      
      * implement InclusionInherent and squash warnings
      
      * test bitfield signing checks
      
      * rename parachain head to para_head
      
      * fix note_new_head bug in paras
      
      * test bitfield enactment in inclusion
      
      * helpers for candidate checks
      
      * add test for most candidate checks
      
      * add test for backing setting storage
      
      * test session change logic
      
      * remove extraneous type parameter
      
      * remove some allow(unused)s
      
      * extract threshold computation to const fn
      
      * remove some more allow(unused)s
      
      * improve doc
      
      * add debug assertion
      
      * fix primitive test compilation
      
      * tag unanimous variant as unused
      879892d3
    • Arkadiy Paronyan's avatar
      Bump trie-db (Companion for substrate#6364) (#1274) · ae9ebc38
      Arkadiy Paronyan authored
      * Bump trie-db
      
      * Bump substrate
      ae9ebc38
  32. Jun 16, 2020
  33. Jun 11, 2020
    • asynchronous rob's avatar
      Scheduler Module (#1162) · 04c86030
      asynchronous rob authored
      
      
      * scheduler module skeleton
      
      * update scheduler skeleton to match latest version of guide
      
      * better session change notification
      
      * add mock randomness and fix test compilation
      
      * shuffle validators into groups
      
      * finish implementing session change logic for scheduler
      
      * tweak core assignment type to track retries of parathread
      
      * reframe queued parathread core as offset
      
      * implement initialzation and finalization routines
      
      * implement parathread claim queuing
      
      * implement core_para
      
      * implement the group_validators routine and fix errors
      
      * add a reason for freeing cores
      
      * implement `schedule` function
      
      * add some docs to the scheduled function
      
      * implement `occupied` helper
      
      * implement availability predicate
      
      * fix some warnings
      
      * integrate scheduler into initializer
      
      * integrate scheduler into mock module
      
      * avoid conflict with Substrate's scheduler storage
      
      * add parathreads index to paras module
      
      * implement parathreads map in paras module
      
      * add is_parathread to paras
      
      * test adding parathread claim
      
      * test that you cannot add claims when no parathread cores exist
      
      * check session change parathread queue pruning
      
      * test validator shuffling
      
      * add allow_unused to scheduler items
      
      * add test for scheduling
      
      * add some more tests for scheduling logic
      
      * test core rotation
      
      * check parathread claim pruning after retries
      
      * add bound notes
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      
      * more suggestions from review
      
      * test availability predicate, add box to please compiler
      
      * add changes to guide
      
      Co-authored-by: default avatarPeter Goodspeed-Niklaus <[email protected]>
      Co-authored-by: default avatarBernhard Schuster <[email protected]>
      04c86030
  34. Jun 02, 2020
    • asynchronous rob's avatar
      New parachain runtime skeleton (#1158) · bd2304ec
      asynchronous rob authored
      * file structure and initializer skeleton
      
      * ensure session changes happen before initialization
      
      * add a couple tests for initializer flow
      
      * integrate with session handling
      
      * configuration update logic
      
      * configuration methods
      
      * move test mock to its own module
      
      * integrate configuration into initializer
      
      * add note about initialization order
      
      * integrate configuration module into mock
      
      * add some tests for config module
      
      * paras module storage
      
      * implement paras session change operation
      
      * amend past code pruning to fully cover acceptance period
      
      * update guide again
      
      * do pruning of historical validation code
      
      * add weight to initialization
      
      * integrate into mock & leave notes for next session
      
      * clean up un-ended sentence
      
      * alter test to account for double index in past code meta
      
      * port over code-at logic test
      
      * clarify checking for conflicting code upgrades
      
      * add genesis for paras, include in mock, ensure incoming paras are processed
      
      * note on return value of `validation_code_at`
      
      * implement paras routines from implementor's guide
      
      * bring over some existing tests and begin porting
      
      * port over code upgrade tests
      
      * test parachain registration
      
      * test code_at with intermediate block
      
      * fix warnings
      
      * clean up docs and extract to separate struct
      
      * adjust implementor's guide to include replacementtimes
      
      * kill stray println
      
      * rename expected_at to applied_after
      
      * rewrite ParaPastCodeMeta to avoid reversal
      
      * clarify and test interface of validation_code_at
      
      * make FutureCode optional
      
      * rename do_old_code_pruning
      
      * add comment on Option<()> to answer FAQ
      
      * address some more grumbles
      bd2304ec