- 15 Apr, 2021 1 commit
-
-
Michael Müller authored
* Migrate to `panic_any` * Clean up unnecessary `std`-cfg's in off-chain env
-
- 19 Feb, 2021 1 commit
-
-
Michael Müller authored
* Fix build warning * Fix `warn(clippy::redundant_slicing)` * Remove unnecessary feature * Reduce amount of ci fuzz tests, since it times out sometimes * Apply rustfmt * Revert "Remove unnecessary feature" This reverts commit fdad2e89. * Revert "Fix build warning" This reverts commit 00ea9038. * Fix build warning * Revert me: Hotfix for funty issue * Remove unstable `panic_any` * Fix use
-
- 02 Feb, 2021 1 commit
-
-
Michael Müller authored
* Fix broken intra-doc links * Fix doc link * Add CI stage to test example docs * Revert me: Provoke doc failures in example * Remove intra-crate link to non-dependency * Remove `--all-features` * Revert "Revert me: Provoke doc failures in example" This reverts commit 563bfeb3. * Prettify paragraph * Remove unnecessary imports * Revert "Remove unnecessary imports" This reverts commit 05207133 . * Remove unnecessary imports * Remove `cfg(doc)` path resolution for doc comments * Improve language and formatting * Upgrade `scale` and `scale-info` for `rand-extension` * Make http link work * Remove `crate::` prefix from doc links * Apply suggestions from code review Co-authored-by:
Hero Bird <robin.freyler@gmail.com> Co-authored-by:
Hero Bird <robin.freyler@gmail.com>
-
- 12 Jan, 2021 1 commit
-
-
Hero Bird authored
* add new tests for #[ink(namespace = ..)] and #[ink(selector = ..)] attrs * [lang] implement new errors for ink! attributes: namespace, selector * add #[ink(extension = N: u32)] attribute * apply rustfmt * [lang] add initial implementation of chain extension proc. macro * [lang] rename AttributeArg -> AttributeFrag * rename AttributeFrag::kind field to arg * rename AttributeArgKind -> AttributeArg Also introduce a new AttributeArgKind type and AttributeArg::kind method. * [lang] apply rustfmt * add Display impl for AttributeArgKind * [lang] use AttributeArgKind in sanitize_attributes and ensure_first methods * [lang/ir] improve error reporting for duplicate ink! attributes * [lang/ir] refactoring and improvements to chain extension IR impl * [lang/ir] add tests for IR implementation of chain extensions * [lang/ir] remove some code dupe * [lang/ir] add getters to ChainExtension * [lang/ir] add re-exports for ChainExtension definitions * [lang/codegen] add initial impl for ChainExtensions * [env] add ChainExtension assoc type to the Environment trait * [lang] initial impl to make it possible to use chain extension syntax * [env] improvements to chain extensions API Also removes the unstable crate feature guarding the feature. * [lang/macro] add UI test for chain extension * [lang/macro] register new UI test * [lang/codegen] fix some codegen bugs with new chain extension feature * [lang, env] apply rustfmt * [lang/ir] apply clippy suggestions and fix outdated error messages * [lang/ir] fix some tests and incorrect error messages * [examples] apply clippy suggestion * add ErrorCode to ink! chain extension trait * add FromStatusCode trait to ink_lang * add #[ink(expect_output)] and #[ink(expect_ok)] attributes Also add their handling for the #[ink::chain_extension] proc. macro. * add ink_lang::IsResultType trait * add ChainExtensionMethodInputs iterator * hide docs for IsResultType trait * add some docs to chain extension codegen * implement expect_ok and expect_output where bounds in codegen * apply code review suggestions by (cmichi) * add ReturnCode::into_u32 getter * change return type of ext::call_chain_extension: RetCode -> u32 Chain extensions do not follow the general scheme of error return code because they have their own set of errors that is custom defined by the author of the chain extension. * [lang] add ChainExtension trait Not yet sure we need it. * change EnvBackend::call_chain_extension signature The new signature is much more low-level and supports all the different ways to call a chain extension method. This commit already implements the chain extension call on the on-chain environment. More work needs to be done to properly support this for the off-chain environment. * remove old high-level API for calling chain extension methods * [env] add new high-level module to handle chain extension calls * rename ChainExtensionMethodInstance -> ChainExtensionMethod * [env] add doc examples to chain extension method API * apply rustfmt * [env] clippy: allow complex type in ChainExtensionMethod type state * silence some warnings * re-export IsResultType from ink_lang crate * [lang] remove FromStatusCode trait This trait already exists in the ink_env crate. * [lang] update codegen for chain extensions Not yet done but close. * [lang] update simple chain extension test Compiles now again. * apply rustfmt * update some license headers * [env] fix where bound * extend chain extension test case to cover all cases * add messages for read_small, access and unlock_access * fix some bugs with chain extension method signatures in test * fix some bugs and docs in chain extension test * fix test * update quickcheck to 1.0 * [env] implement chain extension calling for off-chain env The new interface is much more lower-level and it is still impossible to use chain state from within the chain extension call. The latter must be fixed as soon as the off-chain environment receives its rework. * apply rustfmt * add docs to #[ink::chain_extension] proc. macro * rename env_types -> env everywhere * make doc examples for #[ink::chain_extension] compile * add yet another technical limitation * make link to simple.rs test case more stable (point to revision) * fix docs (code suggestion) Co-authored-by:
Michael Müller <michi@parity.io> * fix docs (code suggestion) Co-authored-by:
Michael Müller <michi@parity.io> * fix docs (code suggestion) Co-authored-by:
Michael Müller <michi@parity.io> * fix docs (code suggestion) Co-authored-by:
Michael Müller <michi@parity.io> * add dev. note to Backend::call_chain_extension * fix docs example (code suggestion) Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [env] chain extension: make doc examples/tests compile * fix some doc comments according to review suggestions * review suggestion: telling -> meaning * fix docs (review suggestion) Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix docs (review suggestion) Co-authored-by:
Andrew Jones <ascjones@gmail.com> * improve docs (review suggestion) Co-authored-by:
Andrew Jones <ascjones@gmail.com> * rename chain extension test file * analyse_error_code add doc comments for possible errors * rename expect_ok -> returns_result and expect_output -> handle_status Some examples and docs might be invalidated or outdated. * [lang/ir] improve error reporting for ink! namespace attribute with missing parameter * [lang/*] implement new handle_status and returns_result attributes * [env] apply rustfmt Co-authored-by:
Michael Müller <michi@parity.io> Co-authored-by:
Andrew Jones <ascjones@gmail.com>
-
- 04 Jan, 2021 1 commit
-
-
Andrew Jones authored
-
- 17 Nov, 2020 1 commit
-
-
Michael Müller authored
* Fix typo: invariances ➜ invariants * Fix comment * Reduce code duplication in HashMap tests * Add test api getters for used storage * Add regression tests for complete storage clearance of nested Lazy's * Always clear inner cell * Bring costs of bug fix down * Apply suggestions from code review Co-authored-by:
Hero Bird <robin.freyler@gmail.com> * Rename function * Throw out convenience method, clarify variable names * Clarify comment Co-authored-by:
Hero Bird <robin.freyler@gmail.com>
-
- 30 Oct, 2020 1 commit
-
-
Michael Müller authored
* [chores] Fix typo: invokation ➜ invocation * [chores] Fix typo: timstamp ➜ timestamp * [chores] Fix typo: ininitialized ➜ initialized * [env] Implement terminate_contract in off-chain env * [examples] Add lock-until * [env] Implement proper off-chain testing for ext_terminate * Apply suggestions from code review Co-authored-by:
Hero Bird <robin.freyler@gmail.com> * [env] Fix Environment type * [env] Derive Balance/AccountId from Environment * [env] Fix types in macro * [examples] Remove lock-until * [examples] Add contract-terminate * [examples] Add contract-transfer * [examples] Make clippy happy * [examples] Fix example name * [examples] Remove Default impls * [examples] Move macro to contract-terminate/test_utils * [env] Migrate macro to fn which gets Environment type param * [env] Add explanatory dev comment * [examples] Allow clippy::new_without_default Co-authored-by:
Hero Bird <robin.freyler@gmail.com>
-
- 21 Oct, 2020 1 commit
-
-
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
-
- 08 Oct, 2020 1 commit
-
-
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
-
- 01 Oct, 2020 1 commit
-
-
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)
-
- 30 Sep, 2020 1 commit
-
-
Hero Bird authored
* [chores] update README to new ink! 3.0 syntax * [*] update all broken LICENSE and README.md symbolic links * [*] update all license headers Also be more strict about their dates: 2018-2020 for all
-
- 29 Sep, 2020 1 commit
-
-
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.
-
- 25 Aug, 2020 1 commit
-
-
Hero Bird authored
* [core] remove get_runtime_storage and invoke_runtime * [core] invalidate all implementations and usages of ext functions * [core] adjust ext_ functions in ext.rs * [core] add ReturnFlags to public API * [core] remove off-chain impls for get_runtime_storage and invoke_runtime * [core] rename ext::ext_input -> ext::input * [core] change return type of get_contract_storage Previously returned Option<Result<R>> and now returns Result<Option<R>>. This change is more pragmatic. * [core] add conversion from ext::Error to EnvError * [core] on-chain: add new utilities for static buffer modifications - EncodeScope: for efficiently appending encoded values - ScopedBuffer: for efficiently chunking buffers * [core] add impls for on-chain property getters * [core] remove no longer needed utiltiy function * [core] on-chain: new impl for invoke_contract and eval_contract * [core] on-chain: new impl for get_contract_storage * [core] on-chain: new impl for decode_input We should also rename this to simply "input" later. * [core] on-chain: new impl for output Now also uses the new ReturnFlags abstraction. * [core] on-chain: new impl for instantiate_contract * [core] on-chain: remove unused API * [core] on-chain: move EncodeScope and ScopedBuffer to buffer.rs * [core] on-chain: implement rest of the on-chain API * [core] add ScopedBuffer::take_bytes * [core] Add Env::call_chain_extension trait method * [core] remove unused helper methods * [core] on-chain: simplify static buffer - No more length - No more encodable - Only full range access * [core] add env::call_chain_extension public API * [core] rename Env::output -> return_value * [core] off-chain: adjust a bunch of off-chain methods to new interfaces * [core] off-chain: adjust get_contract_storage return type * [core] off-chain: remove RuntimeCallHandler and RuntimeStorage facilities * [core] off-chain: adjust some tests * [core] off-chain: remove OffCall utility type * [core] off-chain: implement chain extension handler * [core] adjust panic message * [core] apply rustfmt * [core] apply clippy suggestion * [core] off-chain: re-export ChainExtension and ChainSpec types from test API * [core] on-chain: retain panic messages * [core] rename ext_ to seal_ for all on-chain functions * [alloc] fix some warnings and add some minor comments * [core] add wasm_import_module = "seal0" * [core] introduce new Seal error codes * [core] directly return ReturnCode from C-FII * [core] make transfer return Result * [core] improve some doc comments * rename some old errors to their new names * [core] remove unused env errors and rename some off-chain errors * [core] fix bug in ReturnFlags::set_reverted (formerly known as set_trapped) * [core] avoid From impl for () for OffChainError * [lang] adjust lang layer for changes in core - Remove invoke_runtime - Remove get_runtime_storage - Rename gas_price -> weight_to_fee - Add ReturnFlags to return_value call * [core] turn redundant asserts into debug_assert * [core] be more strict when handling ext::get_storage error * [core] implement clippy suggestion * [examples] remove no longer useful runtime-storage contract We no longer support the get_runtime_storage host function. It will eventually be reintroduced at a later point through chain extensions. * [core] disable chain extensions by default Can be enabled by experimental crate feature: - unstable_chain_extensions * [lang] apply clippy suggestion to use matches! macro * [core] fix docs for ext_return Co-authored-by:
Alexander Theißen <alex.theissen@me.com> * [core] fix return type of api::return_value Not sure why the compiler didn't mention this return type failure ... Co-authored-by:
Alexander Theißen <alex.theissen@me.com> * [core] fix doc comment of Env::return_value * [core] introduce RawReturnCode as a layer between Seal error codes and ink! * [alloc] make #[alloc_error_handler] private * [alloc, core] move alloc_handler from ink_alloc to ink_core * [core] replace useless intermediate ReturnCode type * [core] rename RawReturnCode -> ReturnCode * [core] apply rustfmt * [core] apply rustfmt * [core] off-chain: rename invoke -> eval for chain extension calling * [core] use Ptr32 and Ptr32Mut to encapsulate pointer -> u32 conversions * [core] make new Ptr32 and Ptr32Mut abstractions more type safe Co-authored-by:
Alexander Theißen <alex.theissen@me.com>
-
- 15 Jul, 2020 1 commit
-
-
Andrew Jones authored
* Export EmittedEvent * Assert transfer event in all tests * Fmt
-
- 02 Jul, 2020 1 commit
-
-
Andrew Jones authored
* add gas argument * Add gas parameter to ext_gas_price * Fix up gas_price offchain api * Fix up env_access api * Emulate gas price calculation * Make clippy happy * Use Saturating impl for emulating gas price calculation offchain * Fmt * Add offchain gas_price test * Make clippy happy
-
- 17 Jun, 2020 1 commit
-
-
Hero Bird authored
* [core] add Env::decode_input * [lang/macro] remove unneeded crate dependencies # Conflicts: # lang/macro/Cargo.toml * [lang, lang/macro] add message dispatcher type code generation * [lang/macro] add constructor dispatch enum code generation * [lang] add executor functions and Execute trait * [core] add decode_input to public env API * [lang] fix incorrect trait bound in execute_message * [lang/macro] add code generation for ink_lang::Execute * [lang/macro] integrate Execute trait impls into contract dispatch * [lang/macro] fix bug with constructors and messages with multiple inputs * [lang] apply rustfmt * [lang/macro] apply rustfmt + fix clippy warnings * [lang] remove testable module * [lang] clean-up lang module after implementing new dispatch codegen # Conflicts: # lang/src/dispatcher.rs * [lang] re-enable alloc init and finalize * [lang] apply rustfmt * [core] remove Env::input function It has been deprecated. Users should use Env::decode_input function instead. # Conflicts: # core/src/env/engine/off_chain/mod.rs * [core, examples] fix move of CallData to env::test API * [core] apply rustfmt * [examples] fix examples Selector::from_str -> new * [examples] fix multisig_plain doc-test import * [examples] apply rustfmt to multisig_plain example * [lang/macro] resolve some code dupes
-
- 20 May, 2020 1 commit
-
-
Hero Bird authored
* [core] apply rustfmt * [core] fix warnings related to Wasm compilation * [core] add SpreadLayout impl for DynamicAllocator * [core] remove unused method on Bits256RefMut * [core] apply rustfmt * [core] remove some unneded ToDo comments The ToDo comments have been moved to the associated PR description. * [core] transit to new traits for LazyIndexMap * [core] transit to new traits for storage::Vec * [core] transit to new traits for storage::Stash * [core] transit to new traits for storage::Bitvec * [core] transit to new traits for dynamic storage allocator * [core] transit to new traits for LazyHashMap * [core] transit to new traits for storage::HashMap * [core] apply rustfmt * [core] remove old storage traits for storage::Pack * [core] transit to new storage traits for LazyArray * [core] transit to new storage traits for storage::SmallVec * [core] transit to new storage traits for the rest of the lazy abstractions * [core] transit to new storage traits for storage::Box * [core] fix compile error in Drop impl for storage::Box * [core] remove old storage trait impls for Bits256 * [core] remove old storage trait impls for dynamic storage allocator * [core] apply rustfmt * [core] remove old traits module * [core] replace KeyPtr2 usage with KeyPtr * [core] rename traits2 module to traits * [core] apply rustfmt * [core] add Drop impl to storage::Vec * [core] don't clear storage if key is none for storage::Vec * [core] impl Drop for storage::Stash * [core] simplify trait bounds for LazyHashMap * [core] impl Drop for storage::HashMap * [core] add Drop impl for storage::SmallVec * [core] add are_trait_objects lint as deny * [core] fix minor formatting issue * [core] add storage2::Memory utility * [core] remove usage of storage::Pack from internals of storage::Bitvec * [core] remove usage of storage::Pack from internals of storage::Stash * [core] remove usage of storage::Pack from internals of storage::HashMap * [core] add better Debug impl for LazyIndexMap The improved impl shows the cached entries which were hidden in the old impl behind the UnsafeCell. * [core] apply rustfmt * [core] improve Debug impl for LazyHashMap It now displays its internal cached entries. * [core] improve Debug impl for lazy::Entry * [core] improve Debug impl for LazyCell * [core] improve Debug impl for LazyArray * [core] apply rustfmt * [core] add REQUIRES_DEEP_CLEAN_UP to SpreadLayout With this we have a way for types to perform an optimized storage clean-up without having to load them in case they do not require a deep clean-up of their state. * [core] implement REQUIRES_DEEP_CLEAN_UP for all built-in types * [core] add non-storage trait impls for storage::HashMap * [core] simplify traits bounds of SpreadLayout impl for storage::HashMap * [core] fix bug in Wasm compilation * [core] add initial unit tests for storage::HashMap * [core] allow loading without key from LazyHashMap * [core] merge storage::HashMap insert and insert_get and fix bugs with it * [core] add new unit test for storage::HashMap * [core] generally allow lazy loading without keys for lazy abstractions * [core] apply rustfmt * [core] remove outdated docs of storage::HashMap::insert * [core] add unit test for storage::HashMap::contains_key * [core] apply rustfmt to storage::HashMap unit tests * [core] add unit test for storage::HashMap::{get, get_mut} * [core] fix the doc comment of storage::HashMap::remove * [core] add unit test for storage::HashMap::take * [core] add unit test for storage::HashMap::insert * [core] remove storage::HashMap::remove The API cannot be implemented properly at this point. * [core] implement Iterator::count efficiently for storage::HashMap iterators * [core] add prelude trait impls for crypto hashers * [core] add unit test for storage::HashMap::iter * [core] remove outdated doc comment line * [core] add doc comments to fowarding-to-packed utility functions * [core] add some high-level documentation for some root storage2 modules * [core] add some more high-level docs * [core] add return value to storage::Stash::defrag The returned value tells the caller how many storage cells have actually been freed by the routine. * [core] add return value to storage::HashMap::defrag * [core] add unit test for storage::HashMap::{values, values_mut} Also add tests for Iterator::size_hint impls. * [core] add tests for Iterator::size_hint impls of storage::Vec * [core] add unit test for storage::HashMap::keys * [core] add unit test for storage::HashMap::defrag * [core] add unit tests for LazyIndexMap * [core] remove lazy::Entry::take_value * [core] remove LazyIndexMap::take * [core] remove Entry::set_state Uses have been replaced with Entry::replace_state. * [core] remove Lazy{Array, HashMap}::take method Replace uses with Lazy{Array, HashMap}::put_get(.., None) * [core] add unit test for LazyIndexMap::put * [core] add unit test for LazyIndexMap::swap * [core] apply rustfmt * [core] cover Default impl of LazyIndexMap with unit test * [core] move imports to top for LazyIndexMap .rs file * [core] refactor lazy::Entry internals a bit * [core] add unit tests for Index impl of storage::Vec * [core] add unit tests for Index impl of storage::SmallVec * [core] add tests for Index impl of StorageStash * [core] improve panic message for Index{Mut} impl of storage::Stash * [core] add unit tests for Index{Mut} impl of storage::Stash * [core] extend unit test for storage::Stash::get * [core] disable certain tests in --release mode testing * [core] add unit test for LazyIndexMap::{get, get_mut} * [core] add some unit tests for LazyArray * [core] add some more unit tests for LazyArray * [core] add some more unit tests to LaryArray * [core] apply rustfmt * [core] add unit tests for LazyCell * [core] add unit test for SpreadLayout impl of LazyCell * [core] extend SpreadLayout test for LazyCell * [core] extend SpreadLayout test to also cover the clear_spread impl * [core] rename unit test for LazyCell * [core] fix clippy warning * [core] fix some LazyCell cache entry in lazy form * [core] add new unit test for Debug impl of lazy initialized LazyCell * [core] add more unit tests for lazily initialized LazyCell * [core] implement shallow clean-up of storage via LazyCell * [core] test that a lazily loaded LazyCell preserves its cached value * [core] apply rustfmt * [core] add additional check for LazyCell cache preservation * [core] fix bug in LazyIndexMap::clear_packed_at * [core] add unit test for SpreadLayout impl of LazyIndexMap * [core] fix bug in LazyArray::clear_packed_at * [core] add unit test for SpreadLayout impl of LazyArray * [core] make LazyArray::capacity and SmallVec::capcity more user friendly * [core] remove unnecessary trait bounds * [core] remove more unnecessary trait bounds * [core] add initial unit test for LazyHashMap * [core] add unit test for LazyHashMap::key_at * [core] apply rustfmt * [core] indent a block in test * [core] add unit test for LazyHashMap::put_get * [core] add unit test for LazyHashMap::{get, get_mut} * [core] add unit test for LazyHashMap::put * [core] add unit test for LazyHashMap::swap * [core] make hash builders reset their accumulator upon finalization * [core] add unit test for SpreadLayout impl of LazyHashMap * [core] fix unit test for LazyHashMap::key_at Also add prefix to hash-key calculation. * [core] add unit tests for SpreadLayout impl of storage::Vec * [core] add unit tests for SpreadLayout impl of storage::SmallVec * [core] add unit tests for SpreadLayout impl of storage::Stash * [core] apply rustfmt * [core] add unit tests for SpreadLayout impl of storage::HashMap * [core] add unit test for DynamicAllocation::key * [core] add unit tests for SpreadLayout impl of storage::Bitvec * [core] fix LazyCell::get unit test * [core] remove unused dependencies from Cargo.toml * [core] add missing docs for storage::{Stash, HashMap} * [core] deny missing docs of public items * [core] add Debug impl to storage::Box * [core] add unit tests for storage::Box * [core] remove internal Pack::{get, get_mut} methods * [core] fix bug in storage::Memory::{get, get_mut} API * [core] add unit tests for storage::Pack * [core] improve storage::Pack unit tests * [core] experimental inline(never) for debug_assertions compilation * [core] apply rustfmt * [core] remove experimental #[inline(never)] * [core] add unit test for Default impl of storage::Pack * [core] add unit tests for storage::Memory * [core] fix a unit test for storage::Box The storage::Box tests did not reset the dynamic storage allocator instance in between their runs which caued them to have side effects on to each other if run single threaded. * [core] fix minor bug in BitRefMut utility of storage::Bitvec * [core] cover storage::Bitvec::get_mut in get_works unit test * [core] add unit tests for BitRefMut utility of storage::Bitvec * [core] apply rustfmt * [core] improve panic message when encountering a double free * [core] adjust double free unit test for storage::Box * [core] improve double free of dynamic storage panic message * [core] apply rustfmt * [core] merge Bits256Ref and Bits256RefMut into ChunkRef<T> * [core] split access.rs into bitref.rs and bitsref.rs * [core] apply rustfmt * [core] replace transmute with pointer cast Thanks clippy! * [core] add comment to explain repr(C) * [core] add PartialEq and Eq impls to BitRefMut * [core] add unit tests for ChunkRef * [core] add failure unit tests for dynamic storage allocator * [core] fix bug in SpreadLayout impl of Option<T> * [core] add unit test for dynamic storage allocator SpreadLayout impl * [core] fix SpreadLayout impl for Result<T, E> * [core] fix yet another bug in SpreadLayout impl of Result<T, E> * [core] move forward_supported_array_lens macro to usage site * [core] refactor some code duplication with clear_spread_root_opt * [core] fix doc comment in storage::Pack * [core] remove some unused unsafe blocks They are going to be re-introduced once the unsafe_op_in_unsafe_fn lint has been implemented in the Rust compiler. * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [core] remove usage of storage::Pack in dynamic storage allocator * [core] improve panic message in Lazy::{get, get_mut} * [core] add test for SpreadLayout::clear_spread impl of dynamic storage alloc * [core] remove code dupe * [core] refactor clear_spread_root_opt utility function * [core] implement SpreadLayout::REQUIRES_DEEP_CLEAN_UP for some types * [core] move from bool to u8 for Option and Result SpreadLayout impls * [core] fix bug in SpreadLayout impl for Option * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [core] update LazyCell SAFETY comment * [core] update Entry docs * [core] remove unneeded code in lazy::Entry::pull_packed_root * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [core] remove commented out code * [core] add new unit test for dynamic storage allocator * [core] refactor global storage allocator initialization routines * [core] fix Wasm compilation errors * [core] apply rustfmt * [core] surpress bad clippy lint * [core] remove dead code * [core] improve call_setup_works test * [core] fix bug in initialize_for for off-chain env * [core] initial steps to factor out BitStash from DynamicAllocator * [core] apply rustfmt * [core] add Derive impl for BitStash * [core] make use of storage::BitStash from dynamic storage allocator * [core] add unit tests for storage::BitStash * [core] apply rustfmt * [core] remove invalid TODO comment * [core] fix some out of bounds panic messages * [core] remove deliberate memory leak in test suite * [core] fix build failure for Wasm target * [core] add unit tests for SpreadLayout & PackedLayout impls of primitives * [core] add unit tests for packed layout explicitely * Fix some typos * Add simple double ended iter test * typos * comment typos * split hashmap to hash map in comments * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo in unreachable! message Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo in expects message Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [core] add more comments to storage2::HashMap::defrag * [core] make early return for storage2::HashMap::defrag for limit = 0 * [core] improve storage2::HashMap::contains_key implementation * [core] rename new_vec_works test to new_works * [core] apply Andrew's suggestions (and more) * [core] fix typo: increase -> decrease * [core] add panic to Bitvec::push in case it reached its maximum capacity * [core] update comments for storage bit stash * [core] add more explanation comments * [core] some more renamings of test internals * improve reasoning Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> Co-authored-by:
Andrew Jones <ascjones@gmail.com>
-
- 24 Apr, 2020 1 commit
-
-
Hero Bird authored
* [core] fix single threaded tests Tests that have been run using: cargo test -- --test-threads=1 * [lang] fix off-chain testing for contracts
-
- 03 Feb, 2020 1 commit
-
-
Hero Bird authored
* [core] initial implementation of env revision 3 * add engine abstraction layer and implement api functions * add support for dispatch_call to env3 * add missing invoke_runtime to api.rs * [core] fix restore_contract docs * [core] initial implementation of off-chain environment * [core] clean-up of env3 fundamental types * [core] add WasmEnv::reset_buffer * show test submodule of env3 when compiling with rustdoc * [core] initial implementation of the off-chain env instance Also many other adjustments. * [core] further enhancements to off-chain env * [core] implement untyped Env for off-chain environment * [core] implemented a good chunk of TypedEnv for the off-chain environment * [core] minor improvements to env3 * [core] further improvements and additions to test-api of env3 * [core] remove former test-api file * [core] env3: add support for ext_tombstone_deposit * [core] env3: add setting of rent allowance in off-chain env * [core] env3: remove buffer.rs * [core] env3: remove property.rs * [core] env3: mark some TypedEnv methods as not-todo * [core] env3: enable off-chain api for non test/doc builds * [core] env3: use a static buffer instead of Vec<u8> * [core] env3: move static buffer into its own module * fix doc comment Co-Authored-By:
Michael Müller <mich@elmueller.net> * [core] env3: add missing license header * [core] env3: remove deprecated doc note * [core] env3: add off-chain {set/get}_runtime_storage * [core] env3: add off-chain invoke_runtime dispatch This also enables support for registering custom runtime call handlers. * [core] env3: slightly improve env3::random docs comment * [core] env3: move off-chain errors under EnvError * [core] env3: add ext_random support for the off-chain environment * [core] env3: minor clean ups * [core] env3: improve TypedEncoded::assign * [core] env3: un-mut some variables * [core] env3: fix some clippy warnings * [core] env3: add past_printlns to off-chain test api * [core] env3: minor refactoring * [core] env3: apply rustfmt * [core] env3: clean up of call and instantiate contract * [core] env3: rename moment -> time_stamp * [core] env3: make get_runtime_storage return a Result instead of RetCode * [core] env3: remove unneeded import * [core] env3: add some trait impls for EnvTypes::Hash * [core] env3: remove last remaining usages of RetCode * [core] env3: refactor some errors * [core] env3: document the EnvError enum * [core] env3: add impls for fire methods on call and create builders * [core] env3: add doc comment to past_printlns * [core] env3: apply rustfmt * [core] env3: update license headers * [core] env3: support querying and emitting of events in off-chain env * [core] env3: missing license header adjustment * [core] env3: apply rustfmt * [core] env3: rename some methods in off-chain test-api * [core] env3: add doc comment to test::emitted_events * [core] env3: add stub for test::advance_block * [core] env3: rename some more test API methods * [core] env3: initialize entropy of block randomly * [core] env3: extend EnvTypes trait bounds This change makes the trait bounds more similar to what Substrate defines. * [core] env3: document SimpleArithmetic trait * [core] env3: add From<u32> to SimpleArithmetic trait * [core] env3: made some trait bounds more explicit in SimpleArithmetic trait * [core] env3: add comment describing potential future extensions to SimpleArithmetic trait * [core] env3: rename EnvTypes::Moment to TimeStamp * [core] env3: add block_time to ChainSpec * [core] env3: remove CodeDb again Not needed right now. Maybe re-added at a later point. * [core] env3: apply rustfmt * [core] env3: implement off-chain test::advance_block * [core] env3: fix bug in off-chain test::advance_block impl * [core] env3: made SimpleArithmetic trait more explicit towards Output types * [core] env3: add default initialization routines for off-chain environment * [core] env3: remove test::create_user_account for now * [core] env3: fix missing renaming from Moment -> TimeStamp * [core] env3: impl PartialEq and Eq for off-chain error types * [core] env3: add test::run_test for off-chain testing with default setup * [core] env3: fix several minor bugs with the off-chain environment * [core] convert key.rs tests to new env3 * [core] remove commented out code in key.rs tests * [core] evn3: add test::get_contract_storage_rw * [core] use env3 instead of env1 in storage cells * [core] integrate env3 into storage::TypedChunk * [core] remove storage::RawChunk and NonCloneMarker * [core] adjust SyncChunk slightly for TypedChunk modifications * [core] simplify transitioned env3 tests for TypedChunk * [core] transition tests for SynChunk to env3 * [core] transition storage::Stash tests to env3 * [core] transition storage::HashMap tests to env3 * [core] transition storage::BinaryHeap tests to env3 * [lang] remove the entire ink! lang crate It has been deprecated for a whole while. * [model] remove ink! model crate entirely It has been deprecated for a whole while. * [core] remove the old env1 sub-module of ink_core It has been deprecated for a whole while. * [examples] remove model examples * [examples] remove lang examples * [examples] remove core examples * remove "If given too few endowment" from docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * fix doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * fix doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * [lang2] initial steps towards basing on env3 instead of env2 With this commit `cargo contract build` already works. However, cargo test etc. are still broken. * [lang2] make macros work for `cargo test` * [core, lang2] make contracts compile as ink-as-dependency * [lang2] make events work for ink_lang2 on env3 * [lang2] remove AccessEnv - no longer needed * [core] remove env2 * [lang2] fix tests - Fix warning in ink_lang2 - Remove no longer needed test case - Adjust some passing tests after default module import removal * [*] apply rustfmt * [lang2] silence unused warning for now * [core] rename {create|Create}* to {instantiate|Instantiate}* - CreateBuilder -> InstantiateBuilder - CreateParams -> InstantiateParams - create -> instantiate * [core] rename endowment -> transferred_value for CallBuilder/Params * [examples] adjust Delegator contracts for recents changes * [core] rename now_in_ms -> block_timestamp * [core] follow-up of the call renamings (transferred_value) * [lang2] rename now_in_ms -> block_timestamp * [examples] move examples out of the examples/lang2 folder * [examples] fix runtime-storage example contract * [examples] fix Flipper contract * [examples] fix Incrementer contract * [examples] fix Erc20 contract * [utils] add Key and byte_utils to ink_utils * [utils -> primitives] rename ink_utils -> ink_primitives * [*] move all links from ink_utils -> ink_primitives * [primitives] update Cargo.toml description * [*] use ink_primitives::Key remove ink_core::Key * [primitives] refactor new crate, make it more usable in ink! context * [*] relink to ink_primitives for Key usage * [abi] refactor macros and relink to ink_primitives::Key * [lang2] fix usage of renamed Create{Builder, Params} * [examples] fix examples under recent changes with ink_primitives * [*] apply rustfmt * [lang2/macro] remove deprecated feature usage of proc_macro_hygiene * [examples] remove deprecated proc_macro_hygiene feature * [core] remove test_utils * [core] rename env3 to env * [*] rename all usages of env3 to env * [core] fix feature usage in num-traits of ink_core Cargo.toml * [*] update README * [primitives] conditionally compile type_metadata from ink_primitives * [core] make env::get_contract_storage return Option<Result<T>> * [core] fix some faulty doc comments * [ci] fix GitLab CI * [primitives] fix no_std compilation * [primitives] fix warning * [core] make `rand` dependency optional for `std` crate feature * [core] remove the test-env crate feature from the ink_core crate * [core,primitives] move some tests from primitives to core * [lang] move lang2/ to lang/ * [*] rename all instances of ink_lang2 or lang2 to ink_lang or lang * [lang/macro] fix ink_primitives dependency * [*] apply rustfmt * [core] fix clippy warning * [ci] eliminate README from examples CI checks * [examples] apply rustfmt * [lang/macro] improve event codegen * [core] rename TimeStamp/time_stamp to Timestamp/timestamp * [lang] remove unused extern crate alloc * [core] rename env::address to env::account_id * [lang] perform renamings on ink_lang::EnvAccess but with deprecation instead of removal * [core] fix missing time_stamp renamings * [lang] fix missing TimeStamp renamings * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename create_contract -> instantiate_contract Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename create_contract -> instantiate_contract Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * impr Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename endowment -> transferred_value Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename create_contract -> instantiate_contract Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename create_contract -> instantiate_contract Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename time stamp to timestamp Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename SRML to env in docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * remove SRML word from docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * remove SRML word from docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * [lang] fix doc comment for filtered_keys in restore_contract * [core] rename create_contract -> instantiate_contract * [core] rename create_contract -> instantiate_contract * [core] fix some renamings around endowment -> transferred_value * [lang] rename create_contract -> instantiate_contract follow-up * [core] apply rustfmt * [core] improve restore_contract doc comment * [core, lang] link to ink_core::env::* doc comments from all api places * [core] apply rustfmt Co-authored-by:
Michael Müller <mich@elmueller.net> Co-authored-by:
Andrew Jones <ascjones@gmail.com>
-