Skip to content
Snippets Groups Projects
  1. Dec 01, 2020
  2. Nov 11, 2020
    • Wei Tang's avatar
      Export app-crypto specific keystore functions (#7489) · 2bd9486b
      Wei Tang authored
      * Export app-crypto specific keystore functions
      
      * Also add back the insert function
      
      * Switch KeystoreContainer to an enum
      
      * Only export the bare minimal for LocalKeystore and fix service compile
      
      * fix: should return Arc
      
      * Add docs stating that functions only available in local keystore
      
      * Remove insert and generate functions
      
      * fix: generate function should be available in test
      
      * Add keypair function to trait
      
      * Revert "Add keypair function to trait"
      
      This reverts commit ad921b09ca73d3c09298e3a51b562ef8e0067781.
      
      * Add note for local_keystore function in service
      2bd9486b
  3. Oct 08, 2020
    • Rakan Alhneiti's avatar
      Async keystore + Authority-Discovery async/await (#7000) · 3aa4bfac
      Rakan Alhneiti authored
      
      * Asyncify sign_with
      
      * Asyncify generate/get keys
      
      * Complete BareCryptoStore asyncification
      
      * Cleanup
      
      * Rebase
      
      * Add Proxy
      
      * Inject keystore proxy into extensions
      
      * Implement some methods
      
      * Await on send
      
      * Cleanup
      
      * Send result over the oneshot channel sender
      
      * Process one future at a time
      
      * Fix cargo stuff
      
      * Asyncify sr25519_vrf_sign
      
      * Cherry-pick and fix changes
      
      * Introduce SyncCryptoStore
      
      * SQUASH ME WITH THE first commit
      
      * Implement into SyncCryptoStore
      
      * Implement BareCryptoStore for KeystoreProxyAdapter
      
      * authority-discovery
      
      * AURA
      
      * BABE
      
      * finality-grandpa
      
      * offchain-workers
      
      * benchmarking-cli
      
      * sp_io
      
      * test-utils
      
      * application-crypto
      
      * Extensions and RPC
      
      * Client Service
      
      * bin
      
      * Update cargo.lock
      
      * Implement BareCryptoStore on proxy directly
      
      * Simplify proxy setup
      
      * Fix authority-discover
      
      * Pass async keystore to authority-discovery
      
      * Fix tests
      
      * Use async keystore in authority-discovery
      
      * Rename BareCryptoStore to CryptoStore
      
      * WIP
      
      * Remote mutable borrow in CryptoStore trait
      
      * Implement Keystore with backends
      
      * Remove Proxy implementation
      
      * Fix service builder and keystore user-crates
      
      * Fix tests
      
      * Rework authority-discovery after refactoring
      
      * futures::select!
      
      * Fix multiple mut borrows in authority-discovery
      
      * Merge fixes
      
      * Require sync
      
      * Restore Cargo.lock
      
      * PR feedback - round 1
      
      * Remove Keystore and use LocalKeystore directly
      
      Also renamed KeystoreParams to KeystoreContainer
      
      * Join
      
      * Remove sync requirement
      
      * Fix keystore tests
      
      * Fix tests
      
      * client/authority-discovery: Remove event stream dynamic dispatching
      
      With authority-discovery moving from a poll based future to an `async`
      future Rust has difficulties propagating the `Sync` trade through the
      generated state machine.
      
      Instead of using dynamic dispatching, use a trait parameter to specify
      the DHT event stream.
      
      * Make it compile
      
      * Fix submit_transaction
      
      * Fix block_on issue
      
      * Use await in async context
      
      * Fix manual seal keystore
      
      * Fix authoring_blocks test
      
      * fix aura authoring_blocks
      
      * Try to fix tests for auth-discovery
      
      * client/authority-discovery: Fix lookup_throttling test
      
      * client/authority-discovery: Fix triggers_dht_get_query test
      
      * Fix epoch_authorship_works
      
      * client/authority-discovery: Remove timing assumption in unit test
      
      * client/authority-discovery: Revert changes to termination test
      
      * PR feedback
      
      * Remove deadcode and mark test code
      
      * Fix test_sync
      
      * Use the correct keyring type
      
      * Return when from_service stream is closed
      
      * Convert SyncCryptoStore to a trait
      
      * Fix line width
      
      * Fix line width - take 2
      
      * Remove unused import
      
      * Fix keystore instantiation
      
      * PR feedback
      
      * Remove KeystoreContainer
      
      * Revert "Remove KeystoreContainer"
      
      This reverts commit ea4a37c7d74f9772b93d974e05e4498af6192730.
      
      * Take a ref of keystore
      
      * Move keystore to dev-dependencies
      
      * Address some PR feedback
      
      * Missed one
      
      * Pass keystore reference - take 2
      
      * client/finality-grandpa: Use `Arc<dyn CryptoStore>` instead of SyncXXX
      
      Instead of using `SyncCryptoStorePtr` within `client/finality-grandpa`,
      which is a type alias for `Arc<dyn SyncCryptoStore>`, use `Arc<dyn
      CryptoStore>`. Benefits are:
      
      1. No additional mental overhead of a `SyncCryptoStorePtr`.
      
      2. Ability for new code to use the asynchronous methods of `CryptoStore`
      instead of the synchronous `SyncCryptoStore` methods within
      `client/finality-granpa` without the need for larger refactorings.
      
      Note: This commit uses `Arc<dyn CryptoStore>` instead of
      `CryptoStorePtr`, as I find the type signature more descriptive. This is
      subjective and in no way required.
      
      * Remove SyncCryptoStorePtr
      
      * Remove KeystoreContainer & SyncCryptoStorePtr
      
      * PR feedback
      
      * *: Use CryptoStorePtr whereever possible
      
      * *: Define SyncCryptoStore as a pure extension trait of CryptoStore
      
      * Follow up to SyncCryptoStore extension trait
      
      * Adjust docs for SyncCryptoStore as Ben suggested
      
      * Cleanup unnecessary requirements
      
      * sp-keystore
      
      * Use async_std::task::block_on in keystore
      
      * Fix block_on std requirement
      
      * Update primitives/keystore/src/lib.rs
      
      Co-authored-by: default avatarMax Inden <mail@max-inden.de>
      
      * Fix wasm build
      
      * Remove unused var
      
      * Fix wasm compilation - take 2
      
      * Revert async-std in keystore
      
      * Fix indent
      
      * Fix version and copyright
      
      * Cleanup feature = "std"
      
      * Auth Discovery: Ignore if from_service is cloed
      
      * Max's suggestion
      
      * Revert async-std usage for block_on
      
      * Address PR feedback
      
      * Fix example offchain worker build
      
      * Address PR feedback
      
      * Update Cargo.lock
      
      * Move unused methods to test helper functions
      
      * Restore accidentally deleted cargo.lock files
      
      * Fix unused imports
      
      Co-authored-by: default avatarMax Inden <mail@max-inden.de>
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      3aa4bfac
  4. Jul 21, 2020
  5. Jul 01, 2020
    • cheme's avatar
      Restrict `Protected` to some heap types. (#6471) · 424d5c72
      cheme authored
      * Restrict `Protected` to some heap types.
      
      * Comment abut Protected usage.
      
      * Remove Protected from crypto, use secrecy crate for existing uses.
      
      * use a parse function
      
      * fix error convert
      
      * Rename and move secretY string function.
      
      * std result
      424d5c72
  6. Jun 19, 2020
  7. Jun 18, 2020
    • Rakan Alhneiti's avatar
      Babe VRF Signing in keystore (#6225) · d25f460b
      Rakan Alhneiti authored
      * Introduce trait
      
      * Implement VRFSigner in keystore
      
      * Use vrf_sign from keystore
      
      * Convert output to VRFInOut
      
      * Simplify conversion
      
      * vrf_sign secondary slot using keystore
      
      * Fix RPC call to claim_slot
      
      * Use Public instead of Pair
      
      * Check primary threshold in signer
      
      * Fix interface to return error
      
      * Move vrf_sign to BareCryptoStore
      
      * Fix authorship_works test
      
      * Fix BABE logic leaks
      
      * Acquire a read lock once
      
      * Also fix RPC acquiring the read lock once
      
      * Implement a generic way to construct VRF Transcript
      
      * Use make_transcript_data to call sr25519_vrf_sign
      
      * Make sure VRFTranscriptData is serializable
      
      * Cleanup
      
      * Move VRF to it's own module
      
      * Implement & test VRF signing in testing module
      
      * Remove leftover
      
      * Fix feature requirements
      
      * Revert removing vec macro
      
      * Drop keystore pointer to prevent deadlock
      
      * Nitpicks
      
      * Add test to make sure make_transcript works
      
      * Fix mismatch in VRF transcript
      
      * Add a test to verify transcripts match in babe
      
      * Return VRFOutput and VRFProof from keystore
      d25f460b
  8. May 15, 2020
  9. Mar 30, 2020
    • Rakan Alhneiti's avatar
      Introduce `sign_with` method in keystore (#4925) · e17a23e9
      Rakan Alhneiti authored
      
      * Add KEY_KIND_ID to the public trait
      
      This change is being introduced for the purpose of identifying a public
      key with it's identifier and algorithm "kind".
      
      * Use `sign_with` as implemented in BareCryptoStore
      
      * Implement `sign_with` in sc_keystore
      
      * Fix inconsistencies, use *_KIND_ID in sp_core testing
      
      * Rename KeyKindId to CryptoTypeId
      
      * Remove pair-returning functions from BareCryptoStore trait
      
      * Define CryptoTypeId in app-crypto macros
      
      * Add functions to get keys supported by keystore
      
      * Fix sign_with signature to include CryptoTypePublicPair
      
      * Add `sign_with_any` and `sign_with_all`
      
      * Use keystore.sign_with in auth_discovery
      
      * Rename get_supported_keys -> supported_keys
      
      * Added headers to function docstrings
      
      * Use chain instead of extending a temp vector
      
      * Fixed some code formatting
      
      * Restrict size of CryptoTypeId
      
      This is to be able to use Encode/Decode derives and the overcome having
      the size being unknown at compile-time.
      
      * Implement sign_with in the trait itself
      
      * Remove whitespace
      
      * Use key_type also as a CryptoTypeId in app_crypto macros
      
      * Rename `get_keys` to `keys` in BareCryptoStore
      
      * Remove usage of key_pair funcs in tests
      
      * Adjust docstring for *_CYPTO_ID constants
      
      * Fix failures
      
      * Simplify mapping on keys
      
      * Remove one let
      
      * Fixed typo
      
      * PR feedback
      
      * remove whitespace
      
      * Zip keys and signatures
      
      * Use into_iter & remove cloned
      
      * Pass index to MissingSignature
      
      * Use typed errors instead of strings for BareCryptoStore
      
      * Implement Debug for trait error
      
      * Use hashsets for better performance for supported_keys
      
      * Make sure keys are inserted into the keystore
      
      * Make sign_with_all return type consistent with `sign_with`
      
      * Rename Error to BareCryptoStoreError
      
      * Rename CRYPT_TYPE_ID -> CRYPTO_ID
      
      * Remove unnecessary CRYPTO_ID declaration in Public trait
      
      * Convert pub key to CryptoTypePublicPair
      
      * Fix use
      
      * Fix code style
      
      * Implement From on CryptoTypePublicPair in app_crypto macros
      
      * Change CryptoTypePublicPair to a struct
      
      * Implement Display on CryptoTypePublicPair
      
      * Pass CryptoTypePublicPair to MissingSignature error
      
      * Adjust docs according to function signature
      
      * Unify keys implementation
      
      * Fix RPC author tests
      
      * Fix stackoverflow
      
      * Tabify spaces
      
      * Pass KeyTypeId to error for easier debugging
      
      * Fix asserts
      
      * Use ToHex to format public key
      
      * Use constants from sp_core
      
      * Rename testing KeyTypeId constants
      
      * Please compiler
      
      * Restore KeyTypeId names
      
      apparently, they're not only used in tests
      
      * Use BareCryptoStoreError instead of String
      
      * Document return value
      
      * Fix borrow check
      
      * Convert to hashset internally
      
      * WIP - iter_keys
      
      * Return raw_public_keys
      
      * Address PR feedback
      
      * Address PR Feedback
      
      * Fix hexdisplay import error
      
      * Update primitives/core/src/traits.rs
      
      Co-authored-by: default avatarBastian Köcher <bkchr@users.noreply.github.com>
      e17a23e9
  10. Feb 17, 2020
    • Web3 Philosopher's avatar
      Adds babe rpc support (#4729) · 5567d18b
      Web3 Philosopher authored
      
      * babe_epochAuthorship
      remove test-helpers from sp-keyring, bump spec_version, impl_version
      
      * bump Cargo.lock
      
      * add BabeRPC to node-rpc
      
      * rename to BabeApi, remove err_derive
      
      * pass &ServiceBuilder to with_rpc_extensions callback
      
      * sc-consensus-babe-rpc
      
      * Update client/consensus/babe/src/lib.rs
      
      Co-Authored-By: default avatarTomasz Drwięga <tomusdrw@users.noreply.github.com>
      
      * Better docs, code style chanegs
      
      Co-Authored-By: default avatarAndré Silva <andre.beat@gmail.com>
      
      * new line at the end of Cargo.toml
      
      Co-authored-by: default avatarTomasz Drwięga <tomusdrw@users.noreply.github.com>
      Co-authored-by: default avatarAndré Silva <andre.beat@gmail.com>
      5567d18b
    • Shawn Tabrizi's avatar
      Fix various spelling errors (#4940) · c7a14db7
      Shawn Tabrizi authored
      
      * meaningfull -> meaningful
      
      * initialise -> initialize
      
      * tokans -> tokens
      
      * incentivise -> incentivize
      
      * lenght -> length
      
      * incentivisation -> incentivization
      
      * doesnt't -> doesn't
      
      * overwriten -> overwritten
      
      * lifecycle -> life cycle
      
      * lifecycle -> life cycle
      
      * usefull -> useful
      
      * noone -> no one
      
      * spaming -> spamming
      
      * defered -> deferred
      
      * hieght -> height
      
      * sumation -> summation
      
      * ingore -> ignore
      
      * registed -> registered
      
      * Auxialary -> Auxiliary
      
      * loggin -> logging
      
      * independance -> independence
      
      * trailling -> trailing
      
      * responsability -> responsibility
      
      * trunkated -> truncated
      
      * Weither -> Whether
      
      * informations -> information
      
      * Runtume -> Runtime
      
      * choosen -> chosen
      
      * delcataion -> declaration
      
      * Unchekced -> Unchecked
      
      * defintion -> definition
      
      * scrach -> scratch
      
      * imput -> input
      
      * transfered -> transferred
      
      * endownment -> endowment
      
      * Determinator -> Determiner
      
      * relevent -> relevant
      
      * emited -> emitted
      
      * acocunt -> account
      
      * proprotional -> proportional
      
      * instantiaion -> instantiation
      
      * commited -> committed
      
      * tombstonedead -> tombstone
      
      * uwnrap -> unwrap
      
      * acount -> account
      
      * specialised -> specialized
      
      * existant -> existent
      
      * requried -> required
      
      * Anull -> Annul
      
      * AUTHORITES -> AUTHORITIES
      
      * underyling -> underlying
      
      * recognisable -> recognizable
      
      * Capitalise -> Capitalize
      
      * reportfor -> report for
      
      * hearbeat -> heartbeat
      
      * onlineness -> being online
      
      * creater -> creator
      
      * Bytearray -> Byte array
      
      * Despoit -> Deposit
      
      * substratced -> subtracted
      
      * Curent -> Current
      
      * imbalanes -> imbalances
      
      * countfown -> countdown
      
      * inexisting -> inexistent
      
      * additionaly -> additionally
      
      * substracted -> subtracted
      
      * auxilary -> auxiliary
      
      * parital -> partial
      
      * in't -> isn't
      
      * compatability -> compatibility
      
      * infomation -> information
      
      * etected -> detected
      
      * extrinsiscs -> extrinsics
      
      * reprensentation -> representation
      
      * coonfiguration -> configuration
      
      * primtives -> primitives
      
      * miscelanious -> miscellaneous
      
      * VERISON -> VERSION
      
      * endcoded -> encoded
      
      * Genrates -> Generates
      
      * miliseconds -> milliseconds
      
      * occured -> occurred
      
      * trully -> truely
      
      * truely -> truly
      
      * conjuction -> conjunction
      
      * encouters -> encounters
      
      * customised -> customized
      
      * deterministicly -> deterministically
      
      * finalisation -> finalization
      
      * pluggable -> plugable
      
      * wakeup -> wake-up
      
      * interemdiate -> intermediate
      
      * intepreting -> interpreting
      
      * finalzied -> finalized
      
      * throgh -> through
      
      * extinsic -> extrinsic
      
      * convient -> convenient
      
      * allocater -> allocator
      
      * propagateable -> propagatable
      
      * succesfuly -> successfully
      
      * finalising -> finalizing
      
      * publically -> publicly
      
      * phrasee -> phrase
      
      * substration -> substractions
      
      * substractions -> subtractions
      
      * neccessarily -> necessarily
      
      * Inlucde -> Include
      
      * unefficient -> inefficient
      
      * thay -> they
      
      * funtion -> function
      
      * datastructures -> data structures
      
      * infromation -> information
      
      * propagatable -> propagable
      
      * ecountered -> encountered
      
      * recognise -> recognize
      
      * intergration -> integration
      
      * lastet -> latest
      
      * datatypes -> data types
      
      * datatype -> data type
      
      * Strongarming -> Strong Arming
      
      * avaible -> available
      
      * Commiting -> Committing
      
      * Retreiving -> Retrieving
      
      * shoud -> should
      
      * canonicaliziation -> canonicalization
      
      * comitted -> committed
      
      * clonable -> cloneable
      
      * Uknown -> Unknown
      
      * reponse -> response
      
      * arbitary -> arbitrary
      
      * Capapbilities -> Capabilities
      
      * responsbile -> responsible
      
      * initialisation -> initialization
      
      * cames -> came
      
      * intemediate -> intermediate
      
      * reqeust -> request
      
      * intance -> instance
      
      * explcitly -> explicitly
      
      * neighor -> neighbor
      
      * reolving -> resolving
      
      * untill -> until
      
      * Validte -> Validate
      
      * deserailize -> deserialize
      
      * literaly -> literally
      
      * preceeding -> preceding
      
      * abpve -> above
      
      * chcecked -> checked
      
      * numbet -> number
      
      * Unknow -> Unknown
      
      * halfs -> halves
      
      * gossup -> gossip
      
      * givent -> given
      
      * immediatelly -> immediately
      
      * slicable -> sliceable
      
      * conensus -> consensus
      
      * Mimicks -> Mimics
      
      * acccept -> accept
      
      * serialise -> serialize
      
      * exstrinsics -> extrinsics
      
      * panicks -> panics
      
      * maintaince -> maintenance
      
      * repeatidely -> repeatedly
      
      * anecstor -> ancestor
      
      * becasue -> because
      
      * processer -> processor
      
      * Prunning -> Pruning
      
      * insterested -> interested
      
      * unuseful -> not useful
      
      * yeided -> yielded
      
      * descendfing -> descending
      
      * corresponts -> corresponds
      
      * survivew -> survive
      
      * keps -> keeps
      
      * ligh -> light
      
      * prerequisities -> prerequisites
      
      * positiion -> position
      
      * depedency -> dependency
      
      * extrinisic -> extrinsic
      
      * atomicaly -> atomically
      
      * staticly -> statically
      
      * resul -> result
      
      * timestamb -> timestamp
      
      * Utilites -> Utilities
      
      * ammount -> amount
      
      * pocess -> process
      
      * exteral -> external
      
      * Update client/finality-grandpa/src/tests.rs
      
      * Update primitives/io/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update primitives/blockchain/src/lib.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update frame/support/src/weights.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update bin/node/cli/tests/common.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/cli/src/params.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/executor/common/src/sandbox.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/api/src/execution_extensions.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/finality-grandpa/src/communication/mod.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/state-db/src/pruning.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update frame/contracts/src/tests.rs
      
      Co-Authored-By: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      
      * Update client/api/src/execution_extensions.rs
      
      * bump impl
      
      * timestamb -> timestamp
      
      Co-authored-by: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      c7a14db7
  11. Jan 24, 2020
    • Bastian Köcher's avatar
      Introduces `author_hasKey` and `author_hasSessionKeys` rpc endpoints (#4720) · fc99887d
      Bastian Köcher authored
      
      * Introduces `author_hasKey` and `author_hasSessionKeys` rpc endpoints
      
      Both endpoints can be used to check if a key is present in the keystore.
      
      - `hasKey` works on with an individual public key and key type. It
      checks if a private key for the given combination exists in the
      keystore.
      - `hasSessionKeys` works with the full encoded session key blob stored
      on-chain in `nextKeys`. This requires that the given blob can be decoded
      by the runtime. It will return `true`, iff all public keys of the
      session key exist in the storage.
      
      Fixes: https://github.com/paritytech/substrate/issues/4696
      
      * Update client/rpc-api/src/author/error.rs
      
      Co-Authored-By: default avatarNikolay Volf <nikvolf@gmail.com>
      
      * Indentation
      
      Co-authored-by: default avatarNikolay Volf <nikvolf@gmail.com>
      fc99887d
  12. Jan 07, 2020
  13. Jan 05, 2020
  14. Dec 16, 2019
    • Tomasz Drwięga's avatar
      [big refactor] Remove crate aliasing. (#4395) · 8778ca7d
      Tomasz Drwięga authored
      * Rename: Phase 1.
      
      * Unify codec.
      
      * Fixing: Phase 2
      
      * Fixing: Phase 3.
      
      * Fixing: Phase 4.
      
      * Fixing: Phase 5.
      
      * Fixing: Phase 6.
      
      * Fixing: Phase 7.
      
      * Fixing: Phase 8. Tests
      
      * Fixing: Phase 9. Tests!!!
      
      * Fixing: Phase 10. Moar tests!
      
      * Finally done!
      
      * More fixes.
      
      * Rename primitives:: to sp_core::
      
      * Apply renames in finality-grandpa.
      
      * Fix benches.
      
      * Fix benches 2.
      
      * Revert node-template.
      
      * Fix frame-system in our modules.
      8778ca7d
  15. Nov 30, 2019
  16. Nov 28, 2019
  17. Nov 14, 2019
    • Benjamin Kampmann's avatar
      Reorganising the repository - external renames and moves (#4074) · 60e5011c
      Benjamin Kampmann authored
      * Adding first rough ouline of the repository structure
      
      * Remove old CI stuff
      
      * add title
      
      * formatting fixes
      
      * move node-exits job's script to scripts dir
      
      * Move docs into subdir
      
      * move to bin
      
      * move maintainence scripts, configs and helpers into its own dir
      
      * add .local to ignore
      
      * move core->client
      
      * start up 'test' area
      
      * move test client
      
      * move test runtime
      
      * make test move compile
      
      * Add dependencies rule enforcement.
      
      * Fix indexing.
      
      * Update docs to reflect latest changes
      
      * Moving /srml->/paint
      
      * update docs
      
      * move client/sr-* -> primitives/
      
      * clean old readme
      
      * remove old broken code in rhd
      
      * update lock
      
      * Step 1.
      
      * starting to untangle client
      
      * Fix after merge.
      
      * start splitting out client interfaces
      
      * move children and blockchain interfaces
      
      * Move trie and state-machine to primitives.
      
      * Fix WASM builds.
      
      * fixing broken imports
      
      * more interfac...
      60e5011c