- 02 Jul, 2020 1 commit
-
-
Hero Bird authored
* [lang/macro] move some items around * [lang/macro] rename AttributeFlag -> AttributeArg This is in order to sync naming with the syn crate. * [lang/macro] implement ink! config parameter parsing * [lang/macro] add doc comment to into_nested_meta helper function * [lang/macro] add preliminary ast module * [lang/macro] replace usage of ink_primitives::hash module * [lang/macro] slightly refactor Selector * [lang/macro] fully implement AttributeArgs definitions + tests * [lang/macro] add IntoIterator for AttributeArgs * [lang/macro] base ir2::Config on the new ast::AttributeArgs definitions * [lang/macro] apply rustfmt * [lang/macro] add some ToTokens implementations * [lang/macro] add unit tests for ir2::Config * [lang/macro] introduce general Error type * [lang/macro] remove RustItem * [lang/macro] follow-up: remove RustItem * [lang/macro] add ir2::contains_ink_attributes helper function * [lang/macro] initial skeleton for TryFrom<syn::Item> for ir2::Item impl * [lang/macro] add first_ink_attribute helper function * [lang/macro] refactor initial skeleton for ir2::Item TryFrom impl * [lang/macro] re-export first_ink_attribute to ir2 module * [lang/macro] add unit tests for contains_ink_attributes and first_ink_attribute * [lang/macro] enhance initial TryFrom skeleton for ir2::Item * [lang/macro] simplify item_attrs * [lang/macro] further simplify item_attrs * [lang/macro] minor improvement * [lang/macro] add ExtError to extend syn::Error * [lang/macro] add Attrs trait to extract attributes from syn types * [lang/macro] re-base error infrastructure on to syn::Error * [lang/macro] adjust unit tests for new error infrastructure * [lang/macro] remove old error types * [lang/macro] use syn::Error in ir2::Config * [lang/macro] adjust Config unit tests for syn::Error usage * [lang/macro] rename ensure_no_duplicates -> ensure_no_duplicate_attrs * [lang/macro] add AttributeArg::kind method * [lang/macro] use full type path * [lang/macro] implement InkAttribute::from_expanded * [lang/macro] implement ir2::Storage TryFrom * [lang/macro] minor refactor * [lang/macro] add InkAttribute::ensure_no_conflicts * [lang/macro] add some failure paths to TryFrom<_> for ink! Storage struct * [lang/macro] add unit tests for ink! storage struct conversion * [lang/macro] apply rustfmt * [lang/macro] fix some clippy warnings * [lang/macro] rename Storage::item_struct field to ast * [lang/macro] rename Event::item_struct -> ast * [lang/macro] add some method and an iterator to ink! event struct * [lang/macro] add initial implementation of ink! event's TryFrom * [lang/macro] add derives for Debug, PartialEq and Eq for ink! event * [lang/macro] add initial success path unit tests for TryFrom for ink! event * [lang/macro] fix bug with #[ink(topic)] annotated event fields * [lang/macro] apply rustfmt * [lang/macro] apply clippy suggestion * [lang/macro] add first bunch of failure event TryFrom unit tests * [lang/macro] normalize the current failure event unit tests * [lang/macro] add more event unit tests for topics on fields * [lang/macro] add Debug, PartialEq and Eq derives for some ir2 types * [lang/macro] add unit tests for ir2::Item * [lang/macro] add ir2::ImplBlock::is_ink_impl_block * [lang/macro] add doc comment note * [lang/macro] rename ImplBlockItem::Rust -> Other * [lang/macro] apply rustfmt * [lang/macro] add stub TryFrom impls for Constructor and Message * [lang/macro] add TryFrom impl for ir2::ImplBlockItem * [lang/macro] add initial skeleton for TryFrom impl for ir::ImplBlock * [lang/macro] implement ir2::sanitize_attributes * [lang/macro] split impl_block.rs into multiple files as sub modules * [lang/macro] apply rustfmt + remove unused imports * [lang/macro] split item module into multiple modules * [lang/macro] finalize move into multiple files from commit before * [lang/macro] add lots of error checks to TryFrom for Message * [lang/macro] improve TryFrom tests for ir2::ImplBlock * [lang/macro] make Event and Storage use ir2::sanitize_attributes * [lang/macro] add additional constructors for Iter{Constructors, Messages} * [lang/macro] add visibility check to Message TryFrom impl * [lang/macro] add Message::Visibility and getter * [lang/macro] implement Message::receiver getter * [lang/macro] extend ImplBlock doc comment note section * [lang/macro] add Message::Visibility getters * [lang/macro] refactor Receiver getters * [lang/macro] fix doc comment * [lang/macro] add unit test for Message::visibility getter * [lang/macro] add unit test for Message::receiver getter * [lang/macro] move Visibility from message.rs to impl_item.rs * [lang/macro] add Constructor::visibility getter * [lang/macro] implement callable.rs * [lang/macro] make use of new shared callable.rs utilities * [lang/macro] remove visibility from impl_item.rs * [lang/macro] fix some imports * [lang/macro] implement constructor check for missing return type * [lang/macro] implement constructor check for invalid self receiver * [lang/macro] add some ink! constructor try_from unit tests * [lang/macro] add ink! constructor visibility getter unit test * [lang/macro] fix unit test for ink! message visibility * [lang/macro] add many unit tests for ink! constructor TryFrom impl * [lang/macro] extend success TryFrom impl unit tests * [lang/macro] factor out sanitize_attributes for TryFrom impls * [lang/macro] remove salt from messages and constructors * [lang/macro] add salt extraction for ink! impl block * [lang/macro] add unit test for ink! impl block salt * [lang/macro] implement InkAttribute::{salt, selector} getters * [lang/macro] make use of InkAttribute::salt in TryFrom for ir2::ImplBlock * [lang/macro] apply rustfmt * [lang/macro] implement InkAttribute::is_payable * [lang/macro] make use of InkAttribute::{is_payable, selector} * [lang/macro] add module doc to callable.rs * [lang/macro] rename ImplBlock -> ItemImpl * [lang/macro] rename impl_block module to item_impl * [lang/macro] rename ImplBlockItem -> ImplItem * [lang/macro] add {Message, Constructor}::is_payable * [lang/macro] add doc note to ir2::ImplItem * [lang/macro] add implementation for InputsIter * [lang/macro] make use of InputsIter in ink! message and constructor * [lang/macro] add getter for the return type of an ink! message * [lang/macro] add unit test for ink! message is_payable * [lang/macro] add unit test for Constructor::is_payable * [lang/macro] rewrite receiver_works unit test for ink! message * [lang/macro] add unit test for ink! message inputs * [lang/macro] add unit test for ink! message output getter * [lang/macro] add identifier getter to ink! message and constructor * [lang/macro] apply rustfmt * [lang/macro] apply rustfmt * [lang/macro] implement clippy suggestions * [lang/macro] add unit test for Constructor::inputs * [lang/macro] refactor Storage::is_ink_storage * [lang/macro] add Event::is_ink_event * [lang/macro] add InkItem::is_ink_item * [lang/macro] apply rustfmt * [lang/macro] fix many non-dead-code warnings and allow dead-code for ir2 * [lang/macro] implement Contract::config getter * [lang/macro] allow compile failure of some in-doc tests * [lang/macro] implement TryFrom for ir2::Module * [lang/macro] re-export ImplItem from ir2 * [lang/macro] implement visibility check for ink! impl blocks * [lang/macro] fix unit test * [lang/macro] improve error message for visibility check * [lang/macro] add unit test for visibility failure * [lang/macro] apply rustfmt * [lang/macro] introduce Callable trait to unify ink! messages and constructors * [lang/macro] craft initial skeleton of compose_selector function * [lang/macro] implement ItemImpl::{self_type, trait_path, salt} * [lang/macro] extend compose_selector docs with a usage recommendation section * [lang/macro] implement initial version of compose_selector * [lang/macro] apply clippy suggestion * [lang/macro] fix some bugs in compose_selector implementation * [lang/macro] add unit tests for compose_selector * [lang/macro] rename ir2::Module -> ir2::ItemMod (syn) * [lang/macro] rename module.rs -> item_mod.rs * [lang/macro] remove some imports, use names directly * [lang/macro] rename Event::ast -> item * [lang/macro] refactor event fields iterator * rebase resolve conflict * [lang/macro] move ir2 and ast modules to new crate * [lang/ir] some general renamings after crate move * [lang/macro] no longer refer to ast and ir2 modules * [lang/macro] get rid of all bail! and bail_span! macro calls They hide significant control flow which is bad for readability. * [lang/ir] export error macros * [lang/ir] remove unused import * [lang/macro] make use of new ink_lang_ir crate * [lang/ir] improve documentation and module structure * [lang/ir] apply clippy suggestions + formatting * [lang/macro] apply clippy suggestions * [lang/ir] further improvements to the documentation * [lang/ir] fix error macro docs * [lang/ir] add missing re-export for ir::Contract * [lang/ir] improve ir::Contract docs * [lang/ir] minor refactor of ir::Contract * [lang/ir] extend docs for ir::Contract * [lang/ir] make ast::AttributeArgs::args field private * [lang/ir] apply rustfmt * [lang/ir] improve docs * [lang/ir] further documentation improvements * [lang/ir] add missing exports * [lang/ir] adjust format_err to require its expr to be T:Spanned Formerly this was T:ToTokens which is more restrictive than it should have been. * [lang/ir] refactor format_err_span and format_err macros + docs * [lang/ir] rename format_err macro -> format_err_spanned * [lang/ir] rename format_err_span macro -> format_err * [lang/ir] apply rustfmt * [lang/ir] minor improvements to format_err{_spanned} * [lang/ir] implement ToTokens for all ink! IR structures This is useful because T:ToTokens automatically implements syn::spanned::Spanned while being simpler to implement than syn::spanned::Spanned. * [lang/ir] add links to tracking issue for format_err{_spanned} * [lang/ir] minor docs improvements * [lang/ir] do not re-export everything that belongs to attributes * [lang/ir] fix compilation in test mode * [lang/ir] add ir::ItemMod checks for ink! storage, message and constructor quantities * [lang/ir] make ast module private and move ir module to root * [lang/ir] rename IterItemImpls -> IterItemImpls * [lang/ir] remove ir::EnvTypes from public API * [lang/ir] rename ir::ItemMod::impl_blocks -> item_impls * [lang/ir] rename ir::Module::item_impls -> impls * [lang/ir] make ir::Config::env_types return syn::Path * [lang/ir] move mod doc to lib doc * [lang/ir] fix event doc test * [lang/ir] make Event::is_ink_event module private * [lang/ir] apply rustfmt * [lang/ir] fix Storage doc test * [lang/ir] remove unnecessary rust annotation for doc test * [lang/ir] fix doc tests for constructor and message * [lang/ir] fix fmt todo! avoidance * [lang/ir] remove unneded let binding * [lang/ir] fix doc tests of impl_item/mod.rs * [lang/ir] make ItemImpl::is_ink_impl_block module private * [lang/ir] re-export InputsIter * [lang/ir] add getter for ir::ItemImpl::items * [lang/ir] rename salt -> namespace * add doc link in MetaNameValue doc Co-authored-by:
Michael Müller <mich@elmueller.net> * [lang/ir] rename Callable::selector -> user_provided_selector This is going to avoid confusion with composed selector concept. * [lang/ir] make Storage::is_ink_storage module private * [lang/ir] fix doc link * [lang/ir] expose composed selector through messages and constructors iter * [lang/ir] apply rustfmt * [lang/ir] fix item_mod.rs doc tests * [lang/ir] ignore contract doc test for now It is hard to test because of the unknown ink::contract attribute at the top. * [lang/ir] add item getter to CallableWithSelector * [lang/ir] add Callable::statements getter * [lang/ir] add ir::ItemMod::ensure_no_overlapping_selectors + tests * [lang/ir] remove duplicate code * 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> * [lang/ir] move config.rs -> attr_args.rs * [lang/ir] update doc comments * [lang/ir] some more doc polishing * [lang/ir] fix outdated doc comment * [lang/ir] remove outdated doc comment * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [lang/ir] remove unneeded let binding in doc test * [lang/ir] fix conflicting constructor attribute closure Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [lang/ir] fix doc comment * [lang/ir] remove outdated doc comment * fix doc comment Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [lang/ir] rename 'outer label to 'repeat * [ci] add lang/ir to ALL_CRATES * [lang/ir] update blake2 dependency from 0.8 -> 0.9 * [lang/macro] remove unneeded blake2 dependency * [lang/ir] take last segment of trait path * [lang/ir] slightly improve overlapping selector error message * [lang/ir] improve overlapping selector formatting * [lang/ir] add unit test for composed selector with relative trait path * [lang/ir] improve unit test for relative trait path composed selector * [lang/ir] fix bug that namespace was a valid attribute on ink! messages * [lang/ir] add unit test to check against conflicting attributes on ink! messages * [lang/ir] fix bug that namespace was an allowed attribute for ink! constructors * [lang/ir] add unit test to check against conflicting ink! constructor attributes * [lang/ir] add success tests for ir::ItemMod TryFrom * [lang/ir] fix out-of-line ink! module error message * [lang/ir] add a bunch of ink! module TryFrom failure unit tests * [lang/ir] add unit test for ink! event fields iterator * [lang/ir] apply rustfmt Co-authored-by:
Michael Müller <mich@elmueller.net> Co-authored-by:
Andrew Jones <ascjones@gmail.com>
-
- 25 May, 2020 1 commit
-
-
Hero Bird authored
* [core] move collections/boxed module to alloc module * [core] move main docs from boxed module to Box struct * [core] properly relink moved module * [core] remove unnecessary #Safety docs (not related to PR) * [core] apply rustfmt
-
- 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>
-
- 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>
-
- 20 Nov, 2019 1 commit
-
-
Hero Bird authored
-
- 22 Apr, 2019 1 commit
-
-
Robin Freyler authored
-
- 27 Feb, 2019 1 commit
-
-
Hero Bird authored
-
- 06 Feb, 2019 1 commit
-
-
Hero Bird authored
Note: No other changes and renamings have been done yet so the crate is currently not in a compilable state.
-
- 23 Jan, 2019 1 commit
-
-
Hero Bird authored
-
- 02 Jan, 2019 1 commit
-
-
Hero Bird authored
-
- 21 Dec, 2018 1 commit
-
-
Hero Bird authored
This greatly simplifies chunk implementations as well as everything that builds on top of them. Chunks are now always having full range of 2^32 elements. So no further checks have to be done on accessing them.
-
- 16 Dec, 2018 4 commits
- 15 Dec, 2018 1 commit
-
-
Hero Bird authored
-