1. 23 Dec, 2019 1 commit
    • Denis_P's avatar
      CARGO_TARGET_DIR test (#240) · 8bcf3813
      Denis_P authored
      * CARGO_TARGET_DIR test
      
      * debug
      
      * debug 2
      
      * now INCREMENTAL will help
      
      * fresh run
      
      * test doesn't want a wasm friend
      
      * trim trailing whitespaces
      
      * check branch named dir and data-races there
      
      * data-races are trouble even here, have to divide concurrent jobs, will take more space
      
      * experiment with `need``
      
      * some trash cycles
      
      * check out the trigger
      
      * typo
      
      * there's no master yet lol
      
      * exact PR/branch number since it's not in master yet
      
      * branch shoulkd be a string
      
      * branch should have a right name silly
      
      * cleanup, check if error from the triggered pipeline returns as a status to the initial pipeline
      
      * more vars to pass
      
      * trigger the pipeline
      
      * trigger the pipeline2
      
      * trigger the pipeline3
      
      * trigger the pipeline4
      
      * trigger the pipeline5
      
      * suppress global var
      
      * target dir caching is ready to be merged
      8bcf3813
  2. 16 Dec, 2019 1 commit
  3. 04 Dec, 2019 1 commit
  4. 02 Dec, 2019 1 commit
  5. 28 Nov, 2019 6 commits
    • Hero Bird's avatar
      [ci] add prelude sub crate to GitLab CI (#286) · b6996ff2
      Hero Bird authored
      b6996ff2
    • Denis_P's avatar
      Sccache, needs, CLI update (#277) · 0fabc87a
      Denis_P authored
      * cli is built and sent to examples; cleanup CI
      
      * fix artifact location
      
      * fix script
      
      * 'install' cargo-contract
      
      * save before merge
      
      * GIT_DEPTH and some hackery
      
      * typo
      
      * fix artifacts
      
      * test
      
      * test2
      
      * test3
      
      * build contract from it's repo
      
      * typo
      
      * fix build
      
      * build won't work inside git repo. Install --root ftw
      
      * fix build
      
      * fix build n
      
      * fix artifacts
      
      * cleanup and ready to go
      
      * contract is returned to dockerfile
      
      * cargo install should have not given error when version matches
      
      * comment, anchor
      
      * typo
      
      * less dupes
      0fabc87a
    • Hero Bird's avatar
      Use ink_prelude crate in the rest of ink! (#285) · 76c10bd1
      Hero Bird authored
      * [*] use ink_prelude crate in the rest of ink!
      
      # Conflicts:
      #	core/Cargo.toml
      #	core/src/storage/flush.rs
      
      * [core] fix usage of ink_prelude in buffer_arena
      
      * [core] apply rustfmt
      76c10bd1
    • Hero Bird's avatar
      Initial implementation of the global buffer arena (#270) · 19fe1917
      Hero Bird authored
      * [core] initial implementation of the global buffer arena
      
      * [core] add license header to buffer arena
      
      * [core] add module level docs to buffer arena
      
      * [core] move license header where it belongs (to the top)
      
      * [core] add docs for diagnostic fields and getters
      
      * [core] add tests to buffer arena
      
      * [core] apply rust fmt
      
      * [core] remove allocated field from BufferArena
      
      The information is redundant since it can be computed as free + in_use.
      
      * [core] improve buffer arena tests
      
      * [core] export buffer arena public symbols from core::env2
      
      * [core] fix doc comment link to AsRef and AsMut
      
      * [core] remove nightly cell-update feature
      
      * [core] enable no_std for BufferArena and mirror thread_local interfacing
      
      * [core] fix some obvious no_std mis-compilations
      
      * [core] apply rustfmt
      
      * [core] apply rustfmt #2
      
      
      
      * [core] fix clippy warning in buffer_arena
      
      * [core] fix typo
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [core] slightly improve get_buffer impl
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [core] slight improvements
      
      * [core] rename LocalKey to GlobalBufferArena
      
      * [core] fix no_std build
      19fe1917
    • Hero Bird's avatar
      Use Flush derives and generally update the Flush trait (#269) · 1601b967
      Hero Bird authored
      * [core] add core/derive crate to add derive macro for Flush
      
      * [core/derive] change license from GPL-3.0 to APACHE-2.0
      
      * [core/derive] implement Flush and AllocateUsing derives based on synstructure
      
      * [core] re-export AllocateUsing and Flush derives from within core
      
      * [core/derive] fix AllocateUsing derive impl
      
      * [core/derive] adjust AllocateUsing tests
      
      * [core/derive] apply cargo fmt
      
      * [core/derive] add test::utils and improve AllocateUsing tests
      
      * [core/derive] add explanation docs
      
      * [core/derive] add doc for a hack
      
      * [core/derive] forbid deriving empty enums for Flush
      
      * [core/derive] update compile tests
      
      * [core] remove derive crate feature
      
      * [core/derive] remove `extern crate ink_core` edition 2015 compat
      
      * [core, examples, lang] update Flush impls
      
      * [core] apply rustfmt
      
      * [core] simplify Flush impl for StashHeader
      
      * [core] remove derive crate feature
      
      * [examples] fix clippy warning about Flush in delegator
      1601b967
    • Hero Bird's avatar
      [prelude] add ink_prelude crate (#282) · d3b091d4
      Hero Bird authored
      This shall replace the ink_core::memory sub module in the future.
      d3b091d4
  6. 26 Nov, 2019 2 commits
    • Hero Bird's avatar
      Add core/derive crate to add derive macro for some traits (#256) · 63163f73
      Hero Bird authored
      * [core] add core/derive crate to add derive macro for Flush
      
      * [core/derive] change license from GPL-3.0 to APACHE-2.0
      
      * [core/derive] implement Flush and AllocateUsing derives based on synstructure
      
      * [core] re-export AllocateUsing and Flush derives from within core
      
      * [core/derive] fix AllocateUsing derive impl
      
      * [core/derive] adjust AllocateUsing tests
      
      * [core/derive] apply cargo fmt
      
      * [core/derive] add test::utils and improve AllocateUsing tests
      
      * [core/derive] add explanation docs
      
      * [core/derive] add doc for a hack
      
      * [core/derive] forbid deriving empty enums for Flush
      
      * [core/derive] update compile tests
      63163f73
    • Hero Bird's avatar
      [core] fix broken doc comment links (#271) · 55377fd6
      Hero Bird authored
      55377fd6
  7. 25 Nov, 2019 3 commits
  8. 22 Nov, 2019 1 commit
  9. 21 Nov, 2019 2 commits
    • Andrew Jones's avatar
      Fix remaining GPL references, change travis -> gitlab status badge (#268) · 6689bb13
      Andrew Jones authored
      * Fix remaining GPL license references
      
      * Replace travis with gitlab badge
      6689bb13
    • Andrew Jones's avatar
      Read runtime storage value using `ext_get_runtime_storage` (#204) · b7ca7525
      Andrew Jones authored
      * [core] add ext_runtime_get_storage
      
      * [core] env2: add ext_runtime_get_storage
      
      * [model] add runtime_get_storage to EnvHandler
      
      * [core/model] fix up compiler errors
      
      * [examples] add example reading from runtime storage
      
      * [examples] add debug statements to the runtime contract
      
      * Add lang2 example for runtime_get_storage
      
      * Hook up lang2 runtime_get_storage, make example compile
      
      * Fix lang2 example generate abi
      
      * Rename to match substrate ext function
      
      * Remove ink 1.0 impl
      
      * Remove remaining ink 1.0 impl
      
      * Rename to get_runtime_storage
      
      * Add some logging contract
      
      * TEMPORARY: diagnostic logging
      
      * Revert "TEMPORARY: diagnostic logging"
      
      This reverts commit 14bfc6e2
      
      * Set storage keys
      
      * More contract diagnosis
      
      * Construct storage key in contract
      
      * More key logging
      
      * Fix balances prefix
      
      * Remove all printlns
      
      * Implement test env accessor for chain storage
      
      * Add back space
      
      * Correct docs
      
      * rustfmt
      
      * spacing
      
      * rustfmt
      
      * Capitalise comment, return correct error in test env
      
      * Update license to Apache 2.0
      b7ca7525
  10. 20 Nov, 2019 3 commits
  11. 15 Nov, 2019 2 commits
  12. 14 Nov, 2019 4 commits
    • Hero Bird's avatar
      Fix typo in README · 80984939
      Hero Bird authored
      80984939
    • Hero Bird's avatar
      0bca8dca
    • Hero Bird's avatar
      Improve GitLab CI (#235) · ef960aae
      Hero Bird authored
      * [lang2/macro] add some dev-dependencies to make CI work better
      
      * [scripts] improve check-workspace script
      
      We introduced "hacks" to make it work with the currently buggy nightly version of cargo ... We hope we can move back to were we came once cargo nightly has been fixed again.
      
      * [*] fix formatting issues
      
      * [cli] re-enable build_template test
      
      * [lang2] fix some clippy warnings
      
      * [cli] fix formatting
      
      * test what's faster
      
      * typo
      
      * debug no config and job name
      
      * bench CI var2
      
      * set of jobs for every crate
      
      * ordered set of jobs for every crate
      
      * right commands for the crates and examples. H/e examples will work after dockerfile update.
      
      * comparing two CI approaches
      
      * typo
      
      * forgot to exclude model and lang crates
      
      * bench CI 2
      
      * will bench in other branch
      
      * fix return in cycle
      
      * review 1
      
      * unset allow_failures
      
      * changed cd to popd
      
      * changed cd to popd
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update cli/src/cmd/abi.rs
      ef960aae
    • Stefanie Doll's avatar
      Add ./examples README & basic build instructions (#236) · 775992ea
      Stefanie Doll authored
      
      
      * Added ./examples README
      
      * Add build description to README's
      
      * Update README.md
      
      Co-Authored-By: default avatarHero Bird <robin.freyler@gmail.com>
      
      * Update README.md
      
      Co-Authored-By: default avatarHero Bird <robin.freyler@gmail.com>
      
      * Update examples/README.md
      
      Co-Authored-By: default avatarHero Bird <robin.freyler@gmail.com>
      
      * Update examples/README.md
      
      Co-Authored-By: default avatarHero Bird <robin.freyler@gmail.com>
      
      * ABI -> Metadata
      
      * ABI -> Metadata pt. 2
      
      * Wording for --force
      
      * Removed testing paragraph
      
      * Update examples/README.md
      
      Co-Authored-By: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Update examples/README.md
      
      Co-Authored-By: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Update README.md
      775992ea
  13. 13 Nov, 2019 6 commits
  14. 12 Nov, 2019 1 commit
  15. 11 Nov, 2019 1 commit
    • Hero Bird's avatar
      ink! 2.0: Improve Diagnostics follow-up (#228) · 216a79d0
      Hero Bird authored
      
      
      * [lang2/macro] improve diagnostics for missing a #[ink(storage)] struct
      
      * [lang2/macro] add UI test for missing #[ink(storage)] struct
      
      * [lang2/macro] add test for multiple #[ink(storage)] structs
      
      * [lang2/macro] add ui test for storage-impl conflict
      
      * [lang2/macro] implement check that ink! impls are on #[ink(storage)] structs
      
      * [lang2/macro] fix some success tests
      
      * [lang2/macro] add expected output for failure UI test 16
      
      * [lang2/macro] add conflicting ink! marker test
      
      The conflict here is the additional #[ink(event)] marker
      
      * [lang2/macro] utils: add filter_map_ink_attributes
      
      * [lang2/macro] structs now dispatch on whichever ink! marker was provided first
      
      * [lang2/macro] add failure UI test for #[ink(event)] provided with another #[ink(storage)]
      
      * [lang2/macro] improve diagnostics for unsupported ink! markers on structs
      
      * [lang2/macro] add test for unknown struct ink! markers
      
      * [lang2/macro] improve diagnostics for multiple #[ink(storage)] structs
      
      * [lang2/macro] adjust test case for multiple #[ink(storage)] structs
      
      * [lang2/macro] improve error message for unknown method ink! markers
      
      The error diagnostics can be further improved by showing all occurences of unknown ink! markers in an impl block.
      
      * [lang2/macro] add test for unknown ink! method marker
      
      * [lang2/macro] fix minor typo in tests
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [lang2/macro] fix typo in test
      
      Co-Authored-By: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      
      * [lang2/macro] fix typo in test
      
      Co-Authored-By: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      216a79d0
  16. 10 Nov, 2019 1 commit
  17. 09 Nov, 2019 3 commits
    • Andrew Jones's avatar
      [cli] add generate-abi command (#209) · fe093478
      Andrew Jones authored
      * [cli] add flag to `build` command to generate abi
      
      * [cli] fix abi console output
      
      * [cli] restore +nightly
      
      * [cli] separate generate-abi command
      
      * [cli] move nightly check to exec_cargo fn
      
      * [cli] add test for generate_abi
      fe093478
    • Hero Bird's avatar
      [cli] fix bugs in the template (#224) · c7411dac
      Hero Bird authored
      c7411dac
    • Hero Bird's avatar
      Implementation of ink! syntax 2.0 (#191) · 098b5a4d
      Hero Bird authored
      
      
      * [lang2] initial commit of ink! lang2 frontend
      
      This is going to be the frontend for the new ink! syntax.
      
      * [lang2] change version syntax to semantic versioning string
      
      * [lang2] add failure test for invalid semantic version string
      
      * [lang2] fix some unused warnings
      
      * [lang2] change lib name to ink_lang2
      
      * [lang2] add span to ir::data::ItemStorage
      
      * [lang2] modernize env types codegen
      
      * [lang2] re-introduce entry points codegen but without body for now
      
      * [lang2] add initial storage struct codegen
      
      * [lang2] add lang2 flipper contract example for testing purposes
      
      * [core] impl env2::EnvTypes for DefaultSrmlTypes instead of old env::EnvTypes
      
      * [lang2] add `0` body to entry points
      
      * [lang2] mark fn allocate_using impl for storage struct as unsafe
      
      * [lagn2] ignore args in Initialize::initialize impl for storage struct
      
      * [lang2] adjust compiletests
      
      * [core] add emit_event to EnvAccess{Mut}
      
      * [lang2] add codegen for contract functions
      
      * [lang2] add Signature::inputs
      
      * [lang2] adjust and modernize compiletests
      
      * [lang2] apply rustfmt
      
      * [core] add generic Encode param to EmitEventParams
      
      * [cli] bump version 0.1.1 -> 0.1.2
      
      * [core] make it possible to use EnvAccess{Mut} directly in storage
      
      * [core] make Selector::{from_bytes, to_bytes} const fn
      
      * [core] add check to Decode impl for CallData
      
      * [core] add #[inline..] annotations to some public trait impls
      
      * [lang2] move lang2 into lang2_macro and create new lang2 helper crate
      
      * [examples] add initial core/flipper example that acts as codegen prototype
      
      * [core] add some more #[inline..] annotations
      
      * [lang2] split DerefEnv into AccessEnv{Mut} and losen direct trait bounds
      
      * [core] add efficient conversion from DynEnv<EnvAccessMut> to DynEnv<EnvAccess>
      
      * [examples] adjust core::Flipper prototype to newest state
      
      * [core] add env accessors to DynEnv
      
      * [lang2] add AccessEnv{Mut} impls for DynEnv and EnvAccess{Mut}
      
      * [lang2] use double AccessEnv trait indirection in dispatch fns
      
      * [examples] core::flipper: add ink-dyn-alloc crate feature
      
      Enable this to enable dynamic storage allocation for your contract.
      Dynamic storage allocation is an optional drop-in feature.
      
      * [lang2] make LICENSE and README.md sym links
      
      * [lang2-macro] replace LICENSE and README.md with sym links
      
      * [lang2] add access_env sub module
      
      * [lang2] simplify Message trait concept for constructors
      
      * [lang2] add more general error codes
      
      * [lang2] add storage sub module
      
      * [lang2] remove old dispatch sub module
      
      * [lang2] implement new dispatcher based on ink_model v2
      
      * [examples] adjust core flipper example for new codegen
      
      * [lang2] remove some commented out code
      
      * [lang2] rename dispatch2 to dispatch_using_mode
      
      * [lang2] fix doc link in DispatchMode docs
      
      * [examples] adjust core::Flipper to better reflect codegen prototype
      
      * [lang2] rename ContractDispatch to DispatchUsingMode and add docs
      
      * [lang2] remove unused ContractInstance trait
      
      * [lang2] remove unneeded Msg and Constr utility types
      
      Those types should solely be provided by the contracts themselves.
      They act as namespaces for the respective message type.
      
      * [lang2/macro] add GenerateCodeUsing trait
      
      * [example] add explanation docs to the Flipper::get(&mut self) method
      
      * [lang2] fix unused warning
      
      * [lang2/macro] refactor codegen module
      
      * [lang2/macro] remove commented-out code
      
      * [core] add EnvAccess to allow universal usage of EnvAccess
      
      * [lang2] no longer require separate storage structs
      
      * [examples] adjust core/Flipper to newest ink_lang2 and ink_core changes
      
      * [examples] remove as much direct Flipper usages as possible
      
      * [lang2/macro] temporarily disable dispatch codegen
      
      * [lang2/macro] add MetaInfo::is_dynamic_allocation_enabled stub
      
      * [lang2/macro] implement initial storage codegen
      
      * [core] remove DynEnvAccess and DynEnvAccessMut
      
      No longer needed!
      
      * [core] implement AccessEnv for &'a {mut} DynEnv<EnvAccess{Mut}>
      
      * [examples] fix implementation of ink_lang2::AccesEnv for StorageAndEnv
      
      * [examples] fix ink_core::env2::AccessEnv impl for StorageAndEnv
      
      * [examples] move deploy and call fns into dispatch const block
      
      * [examples] convert docs to comments because they screw up cargo expand
      
      * [lang2/macro] remove ink_model dependency
      
      * [lang2] fix some minor warnings and issues
      
      * [lang2/macro] fix codegen of ink_core::env2::AccessEnv impls
      
      * [lang2/macro] refactor and improve FunctionSelector implementation
      
      * [lang2/macro] Signature::inputs now returns an iterator over IdentType
      
      Was returning an iterator over FnArg before but conversion is trivial.
      
      * [lang2/macro] add dispatch codegen
      
      * [examples] fix DefaultSrmlTypes usage in lang2/Flipper
      
      * [core] prepare env2 to be used with ABI generation purposes
      
      * [examples] add ABI generation to core/Flipper
      
      This will serve as a prototype for ink_lang2 codegen.
      
      * [core, model] remove unneeded warnings/lints
      
      * [lang2] make calls to AccessEnv and Flush more explicit
      
      * [lang2/macro] no longer use no-default-features for dev-dependencies
      
      * [lang2/macro] surpress warnings of unused imports for core::env2::AccessEnv
      
      * [lang2/macro] fix codegen of {ink_lang2/core::env2}::AccessEnv impls
      
      * [lang2/macro] remove unused let binding (was commented out anyways)
      
      * [lang2/macro] fix several codegen bugs
      
      * [examples] remove ink_model and ink_lang dependencies of lang2/Flipper
      
      * [examples] add contract and layout bindings type annotation
      
      * [lang2/macro] adjust some passing tests
      
      * [lang2] add GenerateAbi trait guarded by ink-generate-abi crate feature
      
      * [lang2/macro] move scale dependency away from ink dependencies in Cargo.toml
      
      * [lang2/macro] add Metadata and HasLayout derives to storage structs
      
      * [lang2/macro] insert minor whitespace between bindings and quote
      
      * [lang2/macro] add abi module to generate ABI generating code
      
      * [lang2/macro] add Function::{filter_constructor, filter_message}
      
      * [lang2/macro] fix bug that non-ink! filter for attributes was off
      
      * [lang2/macro] make use of iterative array quoting in Dispatch codegen
      
      * [lang2/macro] add utility to filter doc attributes and parse them to readable string
      
      * [lang2/macro] add codegen for ABI generation
      
      * [example] adjust lang2/Flipper abi-gen package
      
      * [lang2/macro] ink::contract params adjustments
      
      - make `env` param default to ink_core::env2::DefaultSrmlTypes
      - add `dynamic_allocations = {true|false}`, default: false
      - add `compile_as_dependency = {true|false}`, default: false
      
      * [lang2/macro] adjust passing tests to new contract params
      
      * [examples] adjust lang2/Flipper to new contract params
      
      We enable dynamic_allocations for now since disabling it causes other errors.
      
      * [lang2/macro] add different HasLayout impl for dynamic_allocations {true|false}
      
      * [examples] lang2/Flipper no longer requires dynamic_allocations = true
      
      * [lang2] rename AccessEnv::env to AccessEnv::access_env
      
      This helps to disambiguate certain other `env` methods and trait impls
      
      * [examples] adjust core/Flipper example
      
      * [core] refactor event emitting interfaces in env2
      
      * [examples] core/Flipper: fix env types aliases
      
      * [examples] core/Flipper: adjust to new event emitting
      
      Also:
      - messages and constructors no longer can access private fields from StorageAndEnv
      - rename __ink_storage to __ink_private
      - add __ink_events module in __ink_private defining all events and utilities
      - general rust formatting
      
      * [core] add EmitEvent utility trait
      
      This allow to disambiguate the contract's provided EmitEvent trait
      
      * [examples] core/Flipper: make it impossible to ambiguate emitting of events
      
      * [lang2/macro] rename contract_module.rs to contract.rs
      
      * [lang2/macro] generated messages and constructors can no longer access internals of StorageAndEnv
      
      * [lang2/macro] apply rustfmt
      
      * [lang2/macro] add event codegen
      
      - ABI generation codegen for events is still missing
      
      * [lang2/macro] adjust some pass UI tests to new event codegen
      
      * [lang2/macro] re-export the contract on crate root again
      
      This is done for ABI creation since otherwise the abi-gen tool couldn't access the data.
      
      * [lang2/macro] add ABI generation for events
      
      * [lang2/macro] add Erc721 UI pass test
      
      * [lang2/macro] add missing codegen for ABI event args docs
      
      * [lang2/macro] fix a bug that ABI codegen would always impl GenerateAbi for Flipper
      
      * [lang2/macro] add derive(Metadata) to Error enum for Erc721 test
      
      * [core] add missing Initialize::default_value impls
      
      * [core] add Debug impls for some env types
      
      * [examples] core/Flipper: add code to allow for offchain testability
      
      * [examples] core/Flipper: add error handling for test env init
      
      * [lang2/macro] add docs to ABI generation of event args
      
      * [examples] core/Flipper: adjust to improve testability
      
      - No longer requires <Flipper as Testable>::constructor
      - packs whole of flipper contract in associated flipper module such as what ink_lang2 does
      
      * [lang2/macro] add filter_ink_attributes and has_ink_attributes to utilities
      
      * [lang2/macro] re-export utils from ir
      
      * [lang2/macro] add ir::utils::is_ink_attribute
      
      * [lang2/macro] allow non-ink! items in the contract module
      
      * [lang2/macro] add test for non-ink! module items
      
      * [lang2/macro] apply rustfmt on UI tests
      
      * [lang2/macro] fix 02 ui fail test
      
      * [lang2/macro] generate code for non-ink! module items
      
      * [lang2/macro] move utilities inside the contract module - because we can!!
      
      * [lang2/macro] adjust compile tests for most recent changes
      
      * [lang2/macro] add compile test for missing messages
      
      * [lang2/macro] fix some minor warnings
      
      * [lang2/macro] add a lint to check if all identifiers respect not starting with __ink
      
      * [lang2/macro] add simple test for __ink starting identifiers lint
      
      * [lang2/macro] update docs of idents_respect_pred
      
      * [lang2] apply rustfmt
      
      * [core] apply rustfmt to env2 module
      
      * [lang2/macro] add ir::utils::filter_non_ink_attributes
      
      * [lang2/macro] make use or ir::utils::filter_non_ink_attributes
      
      * [lang2/macro] re-export contract on crate root only for ABI generation
      
      * [lang2/macro] documented code generation principles
      
      * [examples] add Erc20 token example for lang2
      
      * [lang2/macro] refactor event codegen
      
      * [lang2/macro] move dispatch codegen into __ink_private
      
      This hides `Msg` and `Constr` namespaces into __ink_private.
      
      * [lang2/macro] move ABI generation codegen into __ink_private
      
      * [lang2/macro] add test to forbig accessing generated storage fields
      
      * [lang2/macro] extend test to forbig accessing generated storage fields
      
      * [lang2] implement testable contracts codegen
      
      * [lang2/macro] do not generate dispatch code for tests or if `test-env` is enabled
      
      * [examples] lang2/Flipper: add contract tests
      
      * [lang2/macro] add simple tests to flipper test
      
      * [examples] remove core/Flipper example again
      
      This was decided after we felt that maintaining it was more of a burden than it being a help for further development.
      
      * [lang2/macro] apply rustfmt
      
      * [core] refactor env2 cross-calling infrastructure
      
      * [core] move seals into utils
      
      * [examples] lang2/Flipper: add default_works test
      
      * [lang2/macro] add cross-contract calling
      
      * [lang2/macro] add cross-contract calling test
      
      * [lang2] remove CreateForwarder infrastructure since unneeded
      
      * [lang2/macro] do not generate code for Events when compiled as dependency
      
      * [lang2/macro] remove strange semi-comments in Msg and Constr
      
      * [lang2/macro] add Debug derive to StorageAsDependency
      
      * [examples] add Delegator contract based on ink_lang2
      
      * [core] guard calling CreateBuilder::using_code at compile-time
      
      * [lang2] fix some clippy warnings
      
      * [chores] update README
      
      * [lang2/macro] refactor into_hir: use ir types through ir module
      
      * fix typo
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in lang2/macro/src/ir/into_hir.rs
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in examples/lang2/delegator/adder/lib.rs
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in lang2/macro/src/codegen/cross_calling.rs
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in core/src/env2/traits.rs
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in lang2/macro/src/codegen/contract.rs
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [lang2/macro] improve some ink! error messages
      
      * [lang2/macro] remove commented-out code
      
      * fix typo in lang2/macro/src/codegen/dispatch.rs
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [lang2/macro] remove ancient Cargo.toml artifacts
      
      * [examples] fix typo and enhance delegator docs a bit
      
      * use `#!/usr/bin/env` instead of `#!/bin/bash`
      
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [lang2] apply rustfmt
      
      * [core] env2: apply rustfmt
      
      * [cli] adjust CLI to generate ink_lang2 contract upon new command
      
      * [lang2/macro] generate some #[inline] annotations on some generated cross-calling interfaces
      
      * [examples] improve Delegator example slightly
      
      * [core] fix bug that SrmlEnv tried to impl traits for TestEnv
      
      * [examples] fix bug that .ink/abi_gen was using incorrect crate features
      
      * [cli,examples] fix all abi_gen/Cargo.toml files
      
      * [examples] fix bugs in some examples
      
      * [lang2/macro] suppress some unused_parens warnings
      
      * [examples] add incrementer as lang2 example
      
      * [lang2/macro] make codegen more precise when using traits
      
      * [lang2/macro] "fix" a bug in cross-calling codegen
      
      The fix is actually a hack that we should remove again as soon as possible by a proper solution.
      
      * [core] rename ext_create to ext_instantiate
      
      * [examples] lang2/Delegator: fix some warnings and added Delegator::get
      
      * [examples] lang2/Erc20: add Erc20::allowance
      
      * [core] fix bug in executing ext::scratch_read causing panic
      
      * [core] remove unused println statements in tests
      
      * [examples] delegator: minor improvements
      098b5a4d
  18. 30 Oct, 2019 1 commit
    • Michael Müller's avatar
      Implement Heap storage primitive (#206) · b748cc16
      Michael Müller authored
      * Fix typos
      
      * Fix linter errors in cmd cli
      
      The CI complains.
      
      * Add Heap collection
      
      * Apply CI style recommendations
      
      * Remove `HeapType` param from constructor
      
      Instead of passing `HeapType::Min`/`HeapType::Max`
      to the constructor one should instead explictly
      implement `Ord` on the generic type which is
      stored in the heap.
      
      This is the way the Rust API works as well.
      
      * Apply CI style recommendations
      
      * Improve iterator test/docs
      
      * Improve doc comments
      
      * Fix typo
      
      * Reduce storage fetches via wrapper around SyncChunk
      
      * Rename Heap to BinaryHeap
      
      * Make `AccessWrapper` independent
      
      * Simplify ternary heap to binary heap
      
      * Rename AccessWrapper to DuplexSyncChunk
      
      * Remove superfluous Flush bound
      
      * Simplify code by removing BinaryHeapHeader
      
      * Removed unnecessary Copy + Clone bounds
      
      * Satisfy rustfmt
      
      * Add clarifying comment for testing struct
      
      * Replace expected arg with predicate condition
      
      * Substitute mem::replace with Option API functions
      
      * Improve grouping in DuplexSyncChunk
      
      * Improve comment
      
      * Satisfy rustfmt
      
      * Derive Ord/PartialOrd implementation
      
      * Remove unnecessary trait bounds
      
      * Use compound trait bound
      
      * Fix typo
      
      * Add metadata for DuplexSyncChunk
      
      * Satisfy rustfmt
      b748cc16