1. 27 Oct, 2020 2 commits
    • Michael Müller's avatar
      Test automatic issue creation (#547) · f581caae
      Michael Müller authored
      * Revert me: Make fuzz test fail
      
      * Revert me: Do not run fuzz tests for codecov
      f581caae
    • Michael Müller's avatar
      Fuzz after master merge + automatic issue creation. (#537) · 24235f09
      Michael Müller authored
      * Prefix fuzz tests
      
      * Fuzz extensively after master merge + create issue on failure
      
      * Do not fuzz on regular test runs
      
      * Migrate deprecated 'only' to 'rules'
      
      * Indent correctly
      
      * Fuzz each crate separately
      
      * Add feature ink-fuzz-tests to crates which are missing it
      
      * Increase QUICKCHECK_TESTS to 50k
      
      * Set timeout to 1h
      
      * Improve issue title + body
      
      * Revert "Set timeout to 1h"
      
      This reverts commit 5888abaf.
      
      * Revert "Add feature ink-fuzz-tests to crates which are missing it"
      
      This reverts commit e0ece29e.
      
      * Fuzz only crates which have the ink-fuzz-tests feature
      
      * Indent consistently with two spaces
      
      * Make GitLab CI linter happy
      
      * Create issue when at least one test fails
      24235f09
  2. 26 Oct, 2020 1 commit
  3. 22 Oct, 2020 3 commits
    • Robin Freyler's avatar
    • Hero Bird's avatar
      Craft ink! 3.0-rc2 release (#536) · 75d3b99c
      Hero Bird authored
      * [releases] add release notes for ink! 3.0-rc2
      
      * [*] bump crate versions to ink! 3.0-rc2
      
      * [releases] add missing ink! 3.0-rc2 release note
      75d3b99c
    • Hero Bird's avatar
      Misc fixes for ink! 3.0-rc1 (#530) · 22b3014a
      Hero Bird authored
      * [benches] fix lazy benchmarks
      
      * [*] fix Cargo.toml documentation links
      
      * [readme] show CI status of master branch always
      
      * [readme] misc improvements
      
      * [storage] make re-export of LazyHashMap inline
      
      * [releases] add notes about ink_core split
      
      * [allocator] add some crate level docs
      
      * [storage] impl scale_info::TypeInfo for ink_storage::alloc::Box
      
      * [metadata] improve docs slightly
      
      * [storage] re-introduce StorageLayout impl for storage::Box
      22b3014a
  4. 21 Oct, 2020 4 commits
    • Michael Müller's avatar
      [storage] Add some tests for storage primitives (#529) · 2c1904fe
      Michael Müller authored
      * [chores] Fix typo entitiy ➜ entity
      
      * [storage] Extract push_pull_works_for_primitive macro
      
      * [storage] Add tests for Tuple
      
      * [storage] Add tests for Option, Result, Box
      
      * [storage] Add tests for Array
      
      * [storage] Add fuzz tests for primitives
      
      * [chores] Fix typo
      
      * [storage] Add fuzz test for HashMap::defrag
      
      * [storage] Improve unit tests
      
      * [storage] Clarify TestResult::discard
      2c1904fe
    • Hero Bird's avatar
      Fix lazy bug (#528) · 44a3f49e
      Hero Bird authored
      * [storage] make Lazy::laze constructor crate private
      
      * [storage] fix Lazy SpreadLayout impl behaving incorrectly when not used
      
      * [storage] remove redundant state replacement in StorageEntry::push_packed_root
      
      * [storage] add regression test for the fixed bug
      
      * [storage] clean up code between LazyCell and StorageEntry
      
      * [storage] apply rustfmt
      44a3f49e
    • Michael Müller's avatar
      [core] Optimization for storage2::BinaryHeap (#508) · 958dbc1c
      Michael Müller authored
      
      
      * BinaryHeap::new()
      
      * Failing FromIterator test
      
      * Dumb push impl
      
      * Dumb peek impl
      
      * Naive push implementation
      
      * Copy in some reference impls for inspiration
      
      * WIP: use storage2::Vec and implement pop
      
      * Fix sift_up
      
      * Fix sift_down
      
      * Test with heap from slice
      
      * Add pass through clear impl
      
      * Add storage trait impls
      
      * Add binary_heap bench, start experimentation
      
      # Conflicts:
      #	core/Cargo.toml
      
      * Add tests for push/pull from storage
      
      * Get basic bench working for pushing largest value
      
      * Fmt
      
      * Prevent storage from being cleared in test env
      
      * iter batched
      
      * Make inline setup to test consistency
      
      * Revert to iter_batch tests
      
      * Add populated cache benches
      
      * Fmt
      
      * Factor out bench push
      
      * Refactor benchmark loop on push
      
      * Configure warm-up and measurement times to improve consistency
      
      * Remove redundant test
      
      * Refactor push benches
      
      * Refactor push benches again
      
      * Add Pop benchmark
      
      * Fmt
      
      * Add some comments to the benchmarks
      
      * Remove some todos
      
      * Use iter_batched_ref
      
      * Fix pop benchmark name
      
      * Add test for worst case O(log n) push
      
      * Fmt
      
      * Add push test
      
      * Add peek and pop test
      
      * Fix up sift comments and log tests
      
      * Comments
      
      * Add Reverse wrapper type for min heaps
      
      * Fmt
      
      * Peek mut
      
      * Fmt
      
      * Add empty tests
      
      * Check complexity of pushing smallest value
      
      * Test drop clears cells
      
      * Fix stable build
      
      * Basic property test
      
      * Fix wasm build
      
      * Fmt
      
      * Derive Default, PartialEq, Eq
      
      * Add property test to feature
      
      * Fix doc links
      
      * Fmt
      
      * Remove commented out println
      
      * Avoid potential false positive
      
      * Add punctuation
      
      * Comments
      
      * Fmt
      
      * [core] Fix comment
      
      * [core] Remove unnecessary println
      
      * [core] Store two children in one Cell
      
      * [core] Add group_count() for fuzz tests
      
      * [core] Apply cargo fmt
      
      * [core] Fix imports for std env
      
      * [core] Improve comments describing read/write ops
      
      * [core] Improve feature switch
      
      * [core] Improve code readability
      
      * [core] Apply general comments
      
      * [core] Add group.exists() and make more use of Group API
      
      * [core] Major renaming
      
      * [core] Implement AlwaysPacked for Children
      
      * [core] Improve comments and panic messages
      
      * [core] Improve comments
      
      * [core] Improve comments
      
      * [core] Improve comments
      
      * [core] Improve comments
      
      * [core] Improve comments
      
      * [core] Improve comments
      
      * [core] Migrate children.exists() to children.is_empty()
      
      * [core] Fix children.is_empty()
      
      * [core] Bring back PackedLayout impl
      
      * Move binary_heap to crates
      
      * Make it compile
      
      * Fix up doc test and benches
      
      * Fmt
      
      * Fix license headers
      
      * [core] Improve Children API
      
      * [core] Use super instead of crate import
      
      * [core] Fix comments
      
      * [core] Rename Elements to ChildrenVector
      
      * [core] Fix comments
      
      * [core] Fix footprint
      
      * [core] Improve count()
      
      * [core] Move iterator to correct file
      
      * [core] Restrain visibility
      
      * [core] Fix comments
      
      * [core] Fix imports
      
      * [core] Rename ChildrenVector to ChildrenVec
      
      * [core] Improve imports
      
      * [storage] Use crate import instead of super
      
      * [storage] Remove some pub(super)
      
      * [storage] Add #[inline]
      
      * [storage] Rename push_to to insert
      
      * [storage] Add rational for child_count
      
      * [storage] Apply cargo fmt
      
      * [core] Give me back my blank line
      
      Co-authored-by: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      958dbc1c
    • Andrew Jones's avatar
      [core] storage2::BinaryHeap (#481) · 75ad19a2
      Andrew Jones authored
      * BinaryHeap::new()
      
      * Failing FromIterator test
      
      * Dumb push impl
      
      * Dumb peek impl
      
      * Naive push implementation
      
      * Copy in some reference impls for inspiration
      
      * WIP: use storage2::Vec and implement pop
      
      * Fix sift_up
      
      * Fix sift_down
      
      * Test with heap from slice
      
      * Add pass through clear impl
      
      * Add storage trait impls
      
      * Add binary_heap bench, start experimentation
      
      # Conflicts:
      #	core/Cargo.toml
      
      * Add tests for push/pull from storage
      
      * Get basic bench working for pushing largest value
      
      * Fmt
      
      * Prevent storage from being cleared in test env
      
      * iter batched
      
      * Make inline setup to test consistency
      
      * Revert to iter_batch tests
      
      * Add populated cache benches
      
      * Fmt
      
      * Factor out bench push
      
      * Refactor benchmark loop on push
      
      * Configure warm-up and measurement times to improve consistency
      
      * Remove redundant test
      
      * Refactor push benches
      
      * Refactor push benches again
      
      * Add Pop benchmark
      
      * Fmt
      
      * Add some comments to the benchmarks
      
      * Remove some todos
      
      * Use iter_batched_ref
      
      * Fix pop benchmark name
      
      * Add test for worst case O(log n) push
      
      * Fmt
      
      * Add push test
      
      * Add peek and pop test
      
      * Fix up sift comments and log tests
      
      * Comments
      
      * Add Reverse wrapper type for min heaps
      
      * Fmt
      
      * Peek mut
      
      * Fmt
      
      * Add empty tests
      
      * Check complexity of pushing smallest value
      
      * Test drop clears cells
      
      * Fix stable build
      
      * Basic property test
      
      * Fix wasm build
      
      * Fmt
      
      * Derive Default, PartialEq, Eq
      
      * Add property test to feature
      
      * Fix doc links
      
      * Fmt
      
      * Remove commented out println
      
      * Avoid potential false positive
      
      * Add punctuation
      
      * Comments
      
      * Fmt
      
      * Move binary_heap to crates
      
      * Make it compile
      
      * Fix up doc test and benches
      
      * Fmt
      
      * Fix license headers
      75ad19a2
  5. 20 Oct, 2020 1 commit
  6. 16 Oct, 2020 1 commit
  7. 09 Oct, 2020 5 commits
  8. 08 Oct, 2020 3 commits
    • Hero Bird's avatar
      Rename EnvTypes -> Env (and many other renamings) (#513) · 8edbfd28
      Hero Bird authored
      * [env] rename Env -> EnvBackend, TypedEnv -> TypedEnvBackend
      
      * [env] rename EnvError -> Error
      
      * [*] rename ink_env::EnvTypes -> Environment
      
      Namely rename:
      ink_env::EnvTypes -> Environment
      ink_env::DefaultEnvTypes -> DefaultEnvironment
      
      * [*] update cfg-if dependency 0.1 -> 1.0
      
      * [alloc] rename ink_alloc -> ink_allocator
      
      * [env] forgot to rename in lib.rs
      
      * [env, lang] fix some bugs with ink_env::EnvError -> Error renaming
      
      * [ci] adjust renaming of ink_alloc -> ink_allocator
      
      * [env] apply rustfmt
      
      * [lang/macro] re-enable disabled UI test
      
      * [examples] DNS: apply rustfmt
      
      * [examples] ERC-20, ERC-721: apply rustfmt
      8edbfd28
    • Andrew Jones's avatar
      f197a986
    • Hero Bird's avatar
      Implement event topic code generation (#510) · 6f701e50
      Hero Bird authored
      * [env] remove unnecessary copy of no longer used mod.rs
      
      * [env, lang] make crates compile again under newest Rust nightly
      
      * [env] on-chain: enhance ScopedBuffer
      
      Add append_encoded and take_appended methods.
      
      * [env] remove old Topics trait
      
      * [env] add new Topics infrastructure
      
      * [env] implement new Topics infrastructure for on/off chain environments
      
      * [env] remove dummy event
      
      * [env] make env::topics::state mod externally accessible
      
      It stays hidden in docs.
      
      * [lang/codegen] generate proper Topics impls for ink! events
      
      * [env] apply rustfmt
      
      * [lang/codegen] fix codegen for events without topics
      
      * [lang/macro] fix UI test
      
      * [env] off-chain: clean-up slightly
      
      * [examples] ERC-20: improve tests for event topics
      
      * [env] remove commented-out line
      
      * [lang/codegen] include event signature into topics
      
      This is the same as it is done for non-anonymous Solidity events.
      The signature of an ink! event is: ContractName::EventName.
      E.g. for ERC-20's Transfer event it is: Erc20::Transfer
      
      * [examples] ERC-20: adjust test for changes with event topics
      
      * [lang/ir] add support for anonymous events
      
      * [lang/codegen] add codegen for anonymous events
      
      * [lang/ir] apply rustfmt
      
      * [lang/macro] comment out failing unit test
      
      Fails due to rustc version mismatch and some recent error display change.
      
      * [examples] apply rustfmt
      6f701e50
  9. 07 Oct, 2020 1 commit
    • Andrew Jones's avatar
      Deserialize metadata (#488) · d7a47f4a
      Andrew Jones authored
      * Make public fields for InkProject and specs
      
      * Make layout fields public
      
      * Use scale-info from branch
      
      * Add Deserialize derives, use ReadOnlyRegistry
      
      * Deserialize contract metadata specs
      
      * Deserialize layout2 specs
      
      * WIP decode hex
      
      * Use impl_serde crate for hex byte string serde
      
      * Test for selector deserialization
      
      * Fix up custom deserialization
      
      * Export selector and add to_vec impl
      
      * Fmt
      
      * Fix up spec segments IntoCompact
      
      * Make name public
      
      * Update to latest scale-info master
      
      * Replace pub fields with getters
      
      * Replace pub fields with getters in spec
      
      * Fix search replace error with any::TypeId
      
      * Use scale-info 0.4
      
      * Fmt
      
      * Remove commented out getter
      
      * Fix up other scale-info deps
      
      * Clippy
      
      * Fix up message and constructor spec builder method names
      
      * Serialize empty bytes vec without 0x prefix
      d7a47f4a
  10. 05 Oct, 2020 1 commit
  11. 02 Oct, 2020 1 commit
    • Hero Bird's avatar
      Minor API surface clean-up (#502) · 4770498c
      Hero Bird authored
      * [env] remove crate-level re-exports for the hash module
      
      * [env] rename ink_env::println -> debug_println
      
      This makes the usage intent clearer.
      
      * [lang] remove deprecated method
      
      * [lang] hide all definitions that are only needed for codegen purposes
      
      * [lang] remove False, move True
      
      * [lang] remove unnecessary where bounds
      
      * [lang] add EnvAccess forwarding for built-in crypto hashes
      
      * [README] add ink_lang doc link
      
      * [env] fix on-chain compilation
      
      * [lang] apply clippy suggestion
      4770498c
  12. 01 Oct, 2020 2 commits
    • Hero Bird's avatar
      Split ink_core crate into ink_env and ink_storage (#500) · cfe52e98
      Hero Bird authored
      * [*] split ink_core into ink_env and ink_storage
      
      The workspace does not yet compile!
      
      * [env] make compile again
      
      * [env] fix doc tests
      
      * [storage] make crate compile again
      
      * [env] fix some doc comment links
      
      * [README] flipper example: remove unused import
      
      * [storage/derive] fix compilation of generated code
      
      * [README] add ink_storage and ink_env doc links
      
      * [env, primitives, storage] fix docs
      
      * [lang] make compile again
      
      * [lang/codegen] use absolute paths in #[ink::test] proc. macro
      
      * [examples] make compile again
      
      * [*] apply rustfmt
      
      * [env] remove unneeded dependencies
      
      * [storage] remove all unneeded dependencies and crate features
      
      * [*] update outdated dependencies
      
      * [env, lang] remove unused dependencies
      
      * [*] fix comments
      
      * [*] fix some intra doc links
      
      * [ci] adjust to split ink_env and ink_storage crates
      
      * [ci] forgot to handle split ink_env and ink_storage in docs
      
      * [storage] fix fuzz tests
      
      * [examples] apply rustfmt
      
      * [examples] apply rustfmt (ERC-721)
      cfe52e98
    • Hero Bird's avatar
      Implement new crypto hash API (#499) · 3f36f02e
      Hero Bird authored
      * [core] add new crypto hash API
      
      * [core] move new crypto hash definitions to dedicated module
      
      * [core] integrate the new env::hash module into core::storage module
      
      * [core] fix LayoutCryptoHasher impls
      
      * [core] add doc test to hash_encoded
      
      * [core] fix minor things in lazy hash map
      
      * [core] apply rustfmt
      
      * [core] remove old crypto hash module
      
      * [core] base DynamicAllocation::key implementation on new hash API
      
      * [core] remove old hash impls from on-chain env
      
      * [core] make DynamicAllocation::key impl work on Wasm32 target
      
      * [core] remove the entire deprecated ink_core::hash module
      3f36f02e
  13. 30 Sep, 2020 1 commit
  14. 29 Sep, 2020 1 commit
    • Hero Bird's avatar
      Move all ink! crates into the crates directory (#494) · 31276d89
      Hero Bird authored
      * [*] move all ink! crates into crates/ directory
      
      * [ci] adjust .gitab-ci.yml to crates/ directory
      
      * [ci] fix GitLab .gitlab-ci.yml (attempt #2)
      
      * [ci] forgot some lines in attempt #2
      
      * [examples] fix example smart contracts
      
      They need to readjust their paths for the crates/ directory.
      31276d89