- Jul 24, 2019
-
-
thiolliere authored
* PNPoS implementation * wip: change staking api * code readibility * fix overflow * comment * license * doc * reorganize a bit * rename to proper english + doc * address comments * refactor unused mock * fix add_point * update tests * add not equalize to ci * Revert "add not equalize to ci" This reverts commit 1c61c258 . * bring test back * update locks * fix genesis config * add authorship event handler + test * uncouple timestamp from staking * use on finalize instead * remove todo * simplify mock * address comment * doc * merge test * fmt * remove todo todo * move add_reward_point to regular function * doc * doc * increase version * doc and fmt * Update srml/staking/src/inflation.rs Co-Authored-By: Bastian Köcher <[email protected]> * Fix some doc typos
-
* Changes for the next libp2p release: * Updates to the Kademlia APIs. * Updated imports due to the extracted libp2p-swarm crate. * ... Still pending at least the following: * rust-libp2p/#1189 * rust-libp2p/#1191 * rust-libp2p/#1194 * Use Quorum::One. The previous choice was apparently arbitrary. * Use libp2p-0.11 from crates.io. Address feedback. * Correct imports after merge.
-
- Jul 23, 2019
-
-
* Add `epoch` field to `SlotInfo` * Add slot calculations * More work on epochs in BABE * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * Typo: `/` not `%` for division * Delete useless `LastSlotInEpoch::put(false)` * Bump `spec_version` * Make test suite pass again * Implement BABE epoch randomness signing * Try to fix compilation Currently causes a stack overflow in the compiler * Fix rustc stack overflow * Add missing `PartialEq` and `Eq` implementations * Fix compile errors in test suite * Another silly compile error * Clone `epoch` * Fix compile error in benchmarks * Implement `clone` for `Epoch` * Merge master * AUTHORING TEST PASSES!!! * Fix compilation * Bump `spec_version` * Fix compilation * Fix compilation (again) * Remove an outdated FIXME * Fix run.sh and move it to scripts/ * Delete commented-out code * Fix documentation Co-Authored-By: André Silva <[email protected]> * Fix BABE initialization and refactor * Respond to review * typo * Remove useless data in `CheckedHeader::Deferred` * Remove `slot_number` from Epoch It is not needed, and only served to waste space and cause confusion. * Remove epoch from BABE digests * Move digest.rs to primitives * Fix incorrect warning names * Fix compile error * Consistent field naming for BABE digests * More compiler error fixex * Unbound variable * more compile errors * another compile error * Fix compile errors in runtime * another compile error * Another compile error * Fix wasm build * missing import * Fix more compile errors * yet another compile error * compile fix in test runtime * Fix and simplify the BABE runtime The BABE runtime was massively overcomplicated and also wrong. It assumed it needed to: 1. delay new authorities taking effect until the next epoch 2. not delay emitting `Consensus` digests to mark epoch changes However, the first is handled by the `srml_session` crate, and the second is flat-out incorrect: `Consensus` digests take effect immediately. Furthermore, `srml_babe` tried to duplicate the functionality of `srml_session::PeriodicSession`, but did it both clumsily and incorrectly. Fortunately, the new code is simpler and far more likely to be correct. * Use `system` to get the test authorities The genesis block used by tests defines no authorities. Only the test suite is affected. * Fix test runtime impl for BabeApi::epoch() with std * Fix compilation * Cached authorities are in the form of an epoch not a `Vec<AuthorityId>`. * `slots_per_epoch` is not fixed in general The BABE code previously assumed `slots_per_epoch` to be a constant, but that assumption is false in general. Furthermore, removing this assumption also allows a lot of code to go away. * fix compile error * Implement epoch checker * Fix runtime compilation * fork-tree: add method for finding a node in the tree * babe: register epoch transitions in fork tree and validate them * fork-tree: add method for arbitrary pruning * Expose the queued validator set to SRML modules BABE needs to know not only what the current validator set is, but also what the next validator set will be. Expose this to clients of the session module. * Bump hex-literal Hopefully this will fix the panic * babe: prune epoch change fork tree on finality * babe: validate epoch index on transition * babe: persist epoch changes tree * Fix compile error in tests * Fix compile error in tests * Another compile error in tests * Fix compilation of tests * core: move grandpa::is_descendent_of to client utils * babe: use is_descendent_of from client utils * babe: extract slot_number from pre_digest in import_block * Move BABE testsuite to its own file * Initial part of test code * Missing `WeightMultiplierUpdate` in test-runtime * bump `spec_version` * Add a test that a very bogus is rejected * Run the tests again * Fix compiler diagnostics * Bump `spec_version` * Initial infrastructure for mutation testing * Mutation testing of block import * babe: revert epoch changes in case of block import error * babe: fix logging target * babe: BabeBlockImport doesn't box inner BlockImport * babe: fix epoch check in block import * babe: populate authorities cache on block authorship * babe: remove unused functions * babe: use RANDOMNESS_LENGTH const * babe: remove unneeded config parameters * core: revert change to hex dependency version * cleanup gitignore * babe: add docs to aux_schema * babe: remove useless drops in tests * babe: remove annoying macos smart quotes * fork-tree: docs * fork-tree: add tests * babe: style * babe: rename randomness config variable * babe: remove randomness helper function * babe: style fixes * babe: add docs * babe: fix tests * node: bump spec_version * babe: fix tests
-
- Jul 22, 2019
-
-
Gavin Wood authored
* Make extrinsics extensible. Also Remove old extrinsic types. * Rest of mockup. Add tips. * Fix some build issues * Runtiem builds :) * Substrate builds. * Fix a doc test * Compact encoding * Extract out the era logic into an extension * Weight Check signed extension. (#3115) * Weight signed extension. * Revert a bit + test for check era. * Update Cargo.toml * Update node/cli/src/factory_impl.rs * Update node/executor/src/lib.rs * Update node/executor/src/lib.rs * Don't use len for weight - use data. * Operational Transaction; second attempt (#3138) * working poc added. * some fixes. * Update doc. * Fix all tests + final logic. * more refactoring. * nits. * System block limit in bytes. * Silent the storage macro warnings. * More logic more tests. * Fix import. * Refactor names. * Fix build. * Update srml/balances/src/lib.rs * Final refactor. * Bump transaction version * Fix weight mult test. * Fix more tests and improve doc. * Bump. * Make some tests work again. * Fix subkey. * Remove todos + bump. * Ignore expensive test. * Bump.
-
- Jul 20, 2019
-
-
Gavin Wood authored
* Introduce network IDs for SS58 * Fix * Allow numeric overrides. * Improve docs * String rather than str * Comment out code that will become valid after other PR * Fix
-
Michael Müller authored
* Fix grammar and typo * Extend network service * Extend offchain API * Support creating unsigned UncheckedExtrinsic * Introduce srml/im-online * Bump impl and spec version * Fix web-wasm test * Apply suggestions from code review Remove parity-multiaddr dependency Co-Authored-By: Pierre Krieger <[email protected]> * Replace transmute with from_raw_parts * Replace PeerId.to_string() with .to_base58() Co-Authored-By: Pierre Krieger <[email protected]> * Update Cargo.lock * Bump impl and spec version (again) It was updated in master in the meantime. * Apply suggestions from code review Co-Authored-By: Sergei Pepyakin <[email protected]> * Address comments * Add public function is_online_in_current_session() * Bump spec_version * Fix doc tests * Improve comments * Remove superfluous line * Name parameters consistently * Implement comments * Switch From to TryFrom * Use Vec instead of HashSet * Fix tests * Revert me: local testing * Fix check if already sent during session We gossip each session, hence we need to check if already sent in this session (not era). * Fix typos * Consistent terminology * Revert "Revert me: local testing" This reverts commit 73fbc29f. * Introduce IsMember trait * Implement misc comments * Remove unused function * Fix test * Fix external_addresses being written * Fix test * Add necessary trait bound * Do not increment version * Update lib.rs
-
- Jul 18, 2019
-
-
Pierre Krieger authored
-
Kian Peymani authored
* Update hex-literal dep version. * Update lock file.
-
- Jul 13, 2019
-
-
Pierre Krieger authored
* Switch the peerset to new futures * Fuse the peerset rx
-
- Jul 12, 2019
-
-
Toralf Wittner authored
Instead of passing a context around to each method, thereby introducing side-effecting I/O actions everywhere, with this PR `sync::ChainSync` only contains state which is updated by invoking various callback methods (`on_*`) and actionable items are returned as regular results from method calls, often iterators yielding requests that should be issued to peers. It is up to the caller to handle these in an appropriate way, currently `protocol` will send those as messages.
-
- Jul 11, 2019
-
-
Pierre Krieger authored
* Switch the telemetry to new futures * Line widths * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * Fix Cargo.lock
-
Pierre Krieger authored
* Switch the client to new futures * No need for compat in the client * Fix client tests * Address review
-
Xiliang Chen authored
* added generic asset module * Update srml/generic-asset/Cargo.toml * Update srml/generic-asset/Cargo.toml * revert Cargo.lock changes * cleanup line width * rename srml_support to support * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: joe petrowski <[email protected]> * update comments * more docs * update Cargo.lock * fix tests * update headers and fix missing events * Update srml/generic-asset/Cargo.toml Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: Bastian Köcher <[email protected]> * Update srml/generic-asset/src/lib.rs Co-Authored-By: Bastian Köcher <[email protected]> * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * fix issues * avoid duplicated code * fix build issue * cleanup Cargo.toml * update based on reviews * remove not used method * update parity-codec version * fix test build issue * update Cargo.lock * update with latest substrate changes * refactor PermissionVersions encoding
-
- Jul 10, 2019
-
-
Gavin Wood authored
* Add copy of council seats as elections module. * Split council into collective and elections modules. Make collective instanceable. * Propagate changes to the runtime and fix origin/event * insert_ref and put_ref to avoid copies. * Add tests * Fix up collective's tests * One more test * Fix elections module tests * Missed merge line * Minor fix * Test fixes * Line widths * Line widths * Rntime version * Remove comment * Deduplicate * Bump runtime again * Fix test
-
- Jul 09, 2019
-
-
Tomasz Drwięga authored
* Implement sign & verify. * Use phrases and password. * Sign & verify with authority keys. * Fix tests. * WiP * WiP * Allow the caller to decide on 'CryptoKind'. * Remove TODO. * Make seed private back. * Fix non-std build and bump version. * Use Into<u32> instead of asses. * Add missing typedef.
-
- Jul 08, 2019
-
-
David Craven authored
-
Bastian Köcher authored
* Make `RUSTFLAGS` configurable in `wasm-builder` * Version ups * Update `Cargo.lock`
-
asynchronous rob authored
* skeleton for tracking historical sessions * refactor OpaqueKeys * some more skeleton work * adjust session to new OpaqueKeys API * further refactoring of key-type-ids * session gets validator ID parameter * run up against compiler * tweak staking to support new session changes * first run at child storage for deduplication * Make session use `AccountId` as `ValidatorId` * run up against child trie issues * switch to using normal trie but with a fixed prefix * clear out some println * add dedup test * flesh out historical module more * introduce ExposureOf for staking * test the historical module * WASM compiles * tests all compile * do some mock change * fix bulk of tests * fix staking tests * test obsolecence mechanic * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> * some more style nits * a couple more nits * tweak tries * fix typo thie -> this
-
- Jul 05, 2019
-
-
Bastian Köcher authored
* Make `wasm-builder` work with `cargo install` * Update `Cargo.lock`
-
Bastian Köcher authored
* End build when `wasm-builder` does not find a prerequisite Using `compile_error!` was a stupid idea by me, as rust would not re-execute the build.rs. * Increment the `wasm-builder` version * Update core/utils/wasm-builder/src/lib.rs Co-Authored-By: André Silva <[email protected]>
-
Pierre Krieger authored
-
- Jul 04, 2019
-
-
André Silva authored
* grandpa: initial structure for catch up messages * grandpa: answer catch up requests * grandpa: inject catch up messages into global stream * grandpa: keep track of pending catch up request * grandpa: block catchup until all referenced blocks are imported * grandpa: unify catch up and commit streams * grandpa: simplify communication stream/sink types * grandpa: note gossip validator on catch up message import * grandpa: fix cost on catch up message validation * grandpa: check signatures on catch up messages * grandpa: clean up catch up request handling state * grandpa: adjust costs on invalid catch up requests * grandpa: release lock before pushing catch up message * grandpa: validate catch up request against peer view * grandpa: catch up docs * grandpa: fix tests * grandpa: until_imported: add tests for catch up messages * grandpa: add tests for catch up message gossip validation * grandpa: integrate HistoricalVotes changes * grandpa: add test for neighbor packet triggering catch up * grandpa: add test for full voter catch up * grandpa: depend on finality-grandpa 0.8 from crates * granda: use finality-grandpa test helpers * grandpa: add PSM cost for answering catch up requests * grandpa: code style fixes Co-Authored-By: Robert Habermeier <[email protected]> * grandpa: more trailing commas * grandpa: lower cost of invalid catch up requests near set change * grandpa: process catch up sending on import of neighbor message * grandpa: add comments on HistoricalVotes * grandpa: use finality-grandpa v0.8.1 from crates.io * grandpa: fix test compilation
-
Bastian Köcher authored
* Don't clutter the output that much * Support building from `crates` or from `path` * Upgrade the versions * Update `Cargo.lock`
-
cheme authored
* Update trie dependencies. * bump rutime impl version.
-
David Craven authored
* Add KeyTypeId. * Implement clone for sr25519::Pair. * Extend Pair with to_raw_vec. * Implement TypedKey for Signature and Pair. * Add trait Public. * Make keystore generic. * Fixup clone. * Fix tests. * Update service. * Fix imports. * Fix build. * Fix babe build. * Fix subkey build. * Make authority setup generic. * Update node-template. * Fix build. * Remove unsafe code. * Fix tests.
-
Bastian Köcher authored
* Introduce `wasm-builder` and `wasm-builder-runner` to retire `build.sh` Make use of `wasm-builder` in `test-runtime`. * Add build script and remove the wasm project * Port `node-runtime` to new wasm-builder * Make `substrate-executor` tests work with `wasm-builder` * Move `node-template` to `wasm-builder` * Remove `build.sh` :) * Remove the last include_bytes * Adds the missing build.rs files * Remove `build.sh` from CI * Debug CI * Make it work in CI * CI attempt 3 * Make `substrate-runtime-test` compile on stable * Ahhh, some missed `include_bytes!` * AHH * Add suggestions * Improve search for `Cargo.lock` and don't panic if it is not found * Searching from manifest path was no good idea * Make the `wasm-builder` source better configurable * Expose the bloaty wasm binary as well * Make sure to rerun WASM recompilation on changes in dependencies * Introduce new `WASM_BUILD_TYPE` env and make sure to call `build.rs` on changes to env variables * Remove `build.sh` from READMEs * Rename the projects * Fixes CI * Update lock file * Fixes merge-conflict * Apply suggestions from code review Co-Authored-By: TriplEight <[email protected]> * Try to make windows happy * Replace all back slashes in paths with slashes * Apply suggestions from code review Co-Authored-By: Pierre Krieger <[email protected]> * Use cargo from `CARGO` env variable * Fix compilation * Use `rustup` for running the nightly build * Make individual projects skipable * Fix compilation * Fixes compilation * Build all WASM projects in one workspace * Replace more back slashes! * Remove `inlcude_bytes!` * Adds some documentation * Apply suggestions from code review Co-Authored-By: Shawn Tabrizi <[email protected]> * Apply suggestions from code review Co-Authored-By: Shawn Tabrizi <[email protected]> * More review comments * Update `Cargo.lock` * Set license * Apply suggestions from code review Co-Authored-By: joe petrowski <[email protected]> * More review comments + adds `TRIGGER_WASM_BUILD` env * Fix doc tests * Increase version + update README * Switch crates.io version of `wasm-builder` * Update README * Switch to released version of `wasm-builder-runner`
-
- Jul 03, 2019
-
-
Bastian Köcher authored
* Downgrade `memory-db` in `test-runtime` to fix WASM compilation * Remove unneeded `memory-db` dependency * Update `Cargo.lock`
-
DemiMarie-parity authored
* Initial work on exposing pre-runtime digests This provides the primitive API, as well as exposing it from BABE. * Initial work on using pre-digests in runtimes This includes both code to expose them from `srml_system`, as well as using it in (currently dead) code in `srml_babe`. * Bump `{spec,impl}_version` * Add `u64_backend` feature to curve25519-dalek Otherwise, it errors out at compile-time. * Bump `Cargo.lock` * Do not depend on the schnorrkel crate in the runtime The schnorrkel crate does not work on `#![no_std]`, but the runtime only needs constants from it. This adds our own definitions of those constants, and checks them for correctness at compile-time. * Actually implement storage of VRF outputs * Trivial formatting change * Provide a `hash_randomness` function in BABE for processing VRF outputs. * Implement a basic randomness generating function It just XORs the VRF outputs together. * Actually implement on-chain randomness Blake2b is used for hashing. * Update dependencies * Run `cargo update` where needed * Re-add a newline at EOF * Remove broken and unsafe code XOR is not a hash function, and must not be used as such. The implementation was also needlessly unsafe. * Run `cargo update` where needed * Remove spurious dependency * Document security guarantees of BABE randomness * Add a `RandomnessBeacon` trait * Document `RandomnessBeacon::random` * Fix silly compile error (unexpected type arguments) * Fix BABE randomness * Implement `FindAuthor` for `babe::Module` * Apply suggestions from code review Co-Authored-By: Bastian Köcher <[email protected]> Co-Authored-By: Robert Habermeier <[email protected]> * Respond to suggestions from code review and fix bugs * Store an authority index, not the authority itself. * Avoid unnecessary decoding. * Implement relative slots and BABE randomness fully and correctly. * Remove spurious dependency * Fix error reported by rust-analyzer * Update Cargo.lock files * `wrapping_add` → `checked_add` The epoch index will not overflow. Panic if it does. * Move randomness documentation to trait * Fix compile error in test suite * Explain 2^64 limit Co-Authored-By: Robert Habermeier <[email protected]>
-
- Jul 02, 2019
-
-
Tomasz Drwięga authored
* WiP. * Implement offchain storage APIs. * Change compare_and_set to return bool. * Add offchain http test. * Fix tests. * Bump spec version. * Fix warnings and test. * Fix compilation. * Remove unused code. * Introduce Local (fork-aware) and Persistent storage. * Fix borked merge. * Prevent warning on depreacated client.backend * Fix long lines. * Clean up dependencies. * Update core/primitives/src/offchain.rs Co-Authored-By: André Silva <[email protected]> * Update core/primitives/src/offchain.rs Co-Authored-By: André Silva <[email protected]>
-
Gavin Wood authored
* Initial mechanics for 80:20 fee split Also: - Introduce extra functions for Imbalance manipulation; - Store treasury pot in an account, letting total issuance account for it. * Fix some tests * Fix some tests * Minor cleanups * Update parity-codec version (#2855) * Update parity-codec version * Update grandpa, rhododendron and trie-bench * Use primitive-types from crates.io * Bump impl version * Fix trie-bench version * Fix lock files * Fix versions * Update codec to 4.1 * merge fix * Revert merge * More reversions * Remove accidental code * Update locks * Bump runtime * Update locks * Tweaks and label TODO * Update srml/treasury/src/lib.rs Co-Authored-By: DemiMarie-parity <[email protected]> * Update issue number * Update core/sr-primitives/src/traits.rs Co-Authored-By: Robert Habermeier <[email protected]> * Fix wasm build * Fix subkey build
-
- Jun 29, 2019
-
-
Pierre Krieger authored
-
- Jun 27, 2019
-
-
Bastian Köcher authored
* Add failing test case * move storage maps to blake2_128 (#2268) * remove default hash, introduce twox_128 and blake2 * use blake2_128 & create ext_blake2_128 * refactor code * add benchmark * factorize generator * fix * parameterizable hasher * some fix * fix * fix * fix * metadata * fix * remove debug print * map -> blake2_256 * fix test * fix test * Apply suggestions from code review Co-Authored-By: thiolliere <[email protected]> * impl twox 128 concat (#2353) * impl twox_128_concat * comment addressed * fix * impl twox_128->64_concat * fix test * Fix compilation and cleanup some docs * Lol * Remove traits from storage types that are not generic * Get instance test almost working as wanted * Make `srml-support-test` compile again :) * Fixes test of srml-support * Fix compilation * Break some lines * Remove incorrect macro match arm * Integrates review feedback * Update documentation * Fix compilation
-
- Jun 26, 2019
-
-
Pierre Krieger authored
* Remove dependencies on tokio * Make service not depend on tokio * Fix service tests * Manually poll the import queue if failed to start * Spawn all tasks at the end * Remove executor from TelemetryOnConnect * Remove TaskExecutor from offchain workers * Remove TaskExecutor from AuthoritySetup * Remove TaskExecutor from service * Remove tokio dependency from RPC * Remove finality-grandpa from WASM checks * Fix offchain tests * Line widths * Fix RPC tests * Fix service tests * Fix bad futures polling * Address some concerns * Better error handling * Is it the connectivity test that's not passing? I don't know, let's try * Revert "Is it the connectivity test that's not passing? I don't know, let's try" This reverts commit 28bbe51f. * Fix test
-
Stanislav Tkach authored
* Update codec version to the 4.1 version * Bump impl_version * Update lock files * Update codec to 4.1.1 version * Bump impl version
-
Jim Posen authored
* srml-contract: Move gas costs from Config to Schedule. * srml-contract: Define Gas units fixed as u64. This removes Gas as a configurable type on the contracts Trait. * Bump node runtime spec/impl versions.
-
Pierre Krieger authored
-
asynchronous rob authored
* generalized uncle processing * add some uncle tests * set author and do event handling * OnePerAuthorPerHeight no longer O(n^2) and test * bump impl_version of node * Documentation and style fixes Co-Authored-By: DemiMarie-parity <[email protected]> * fix #2949: index-based FindAuthor wrapper for srml-session * use for_each_tuple
-
thiolliere authored
* update parity-scale codec minor version * update to 3.5.3 * update locks * increase impl version * Update to 3.5.4 * Update WASM lockfiles
-
- Jun 25, 2019
-
-
Pierre Krieger authored
* Update to libp2p 0.10 * Bump zeroize in substrate-network
-
- Jun 21, 2019
-
-
Pierre Krieger authored
* Move the network status reporting to the service * Fix tests * Fix build
-