- 28 Jan, 2021 1 commit
-
-
Andrew Jones authored
* Update to scale-info 0.5 * Update TypeInfo manual impls * Update parity-scale-code to 2.0 * Add Encode ?Sized bounds * Change type display name for Key custom TypeInfo impl * Add missing ?Sized constraint * Fmt * Missing ?Sized bound in example
-
- 13 Jan, 2021 1 commit
-
-
Hero Bird authored
* [lang/ir] generalize conflicting attribute error reporting # Conflicts: # crates/lang/ir/src/ir/chain_extension.rs * [lang/macro] add UI tests for payable constructors * fix docs (review suggestion) Co-authored-by:
Michael Müller <michi@parity.io> * fix docs (review suggestion) Co-authored-by:
Michael Müller <michi@parity.io> Co-authored-by:
Michael Müller <michi@parity.io>
-
- 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
-
- 02 Dec, 2020 1 commit
-
-
Michael Müller authored
* Ensure topics are unique * Remove unavailable method * Fix salt appending in Wasm * Remove salt param * Add missing assignment * Update crates/lang/src/events.rs Co-authored-by:
Hero Bird <robin.freyler@gmail.com> * Add suggestions * Remove always inline * Fix event hashing in examples * Make nightly clippy happy * Remove unnecessary return param * Do not use internal type for hash calculation * Hide internal type from docs * Expose `PrefixedValue` from ink_env::topics * Apply cargo fmt * Apply cargo fmt * Apply comments * Apply comments * Apply comments Co-authored-by:
Hero Bird <robin.freyler@gmail.com>
-
- 11 Nov, 2020 1 commit
-
-
Michael Müller authored
* [ci] Check format of UI tests as well * [lang] Apply our formatting guidelines to UI tests * [ci] Make Gitlab happy * [ci] Remove superfluous space * [ci] Output rustfmt version * [ci] Tune rustfmt params * Remove todo's * Migrate erc721 ui test contract to recent example contract * Remove --version command used to debug * Apply cargo fmt * .gitlab-ci.yml formatting * Add main fn * Remove todo from stderr expect * Adapt fixtures * Revert "Adapt fixtures" This reverts commit 174c012e. * Adapt fixtures
-
- 04 Nov, 2020 1 commit
-
-
Michael Müller authored
* [lang] Improve invalid selector message * [lang] Improve span * [lang] Return syn::Error instead of panicking * Make clippy happy * [lang] Reduce code dup with non_hex_err * [lang] Rename fn * [lang] Fix err functions * [lang] Add comments * [lang] Remove unnecessary lifetime
-
- 22 Oct, 2020 2 commits
-
-
Hero Bird authored
* [releases] add release notes for ink! 3.0-rc2 * [*] bump crate versions to ink! 3.0-rc2 * [releases] add missing ink! 3.0-rc2 release note
-
Hero Bird authored
* [benches] fix lazy benchmarks * [*] fix Cargo.toml documentation links * [readme] show CI status of master branch always * [readme] misc improvements * [storage] make re-export of LazyHashMap inline * [releases] add notes about ink_core split * [allocator] add some crate level docs * [storage] impl scale_info::TypeInfo for ink_storage::alloc::Box * [metadata] improve docs slightly * [storage] re-introduce StorageLayout impl for storage::Box
-
- 09 Oct, 2020 3 commits
-
-
Robin Freyler authored
-
Hero Bird authored
* [*] normalize authors for all ink! crates * [lang, storage] add extern crate proc_macro This is somehow needed for cargo publishing.
-
Hero Bird authored
* [chores] add release notes for ink! 3.0 * [releases] 3.0: add note about trait definitions and implementations * [*] bump all ink! crate versions to 3.0.0-rc1 * [releases] fix elipsis * [releases] fix typo, improve sentences Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [releases] fix typo, improve sentences Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [releases] fix typo, improve sentences Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [releases] add note to lazy * [releases] fix typo, improve sentences Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [releases] fix typo, improve sentences Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [releases] fix typo, improve sentences Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [releases] add missing release notes for ink! 2.1 * [releases] fix typo, improve sentences Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [releases] fix typo, improve sentences Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [releases] improve payable docs * [*] update crate descriptions Co-authored-by:
Andrew Jones <ascjones@gmail.com>
-
- 08 Oct, 2020 2 commits
-
-
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
-
Hero Bird authored
* [env] remove unnecessary copy of no longer used mod.rs * [env, lang] make crates compile again under newest Rust nightly * [env] on-chain: enhance ScopedBuffer Add append_encoded and take_appended methods. * [env] remove old Topics trait * [env] add new Topics infrastructure * [env] implement new Topics infrastructure for on/off chain environments * [env] remove dummy event * [env] make env::topics::state mod externally accessible It stays hidden in docs. * [lang/codegen] generate proper Topics impls for ink! events * [env] apply rustfmt * [lang/codegen] fix codegen for events without topics * [lang/macro] fix UI test * [env] off-chain: clean-up slightly * [examples] ERC-20: improve tests for event topics * [env] remove commented-out line * [lang/codegen] include event signature into topics This is the same as it is done for non-anonymous Solidity events. The signature of an ink! event is: ContractName::EventName. E.g. for ERC-20's Transfer event it is: Erc20::Transfer * [examples] ERC-20: adjust test for changes with event topics * [lang/ir] add support for anonymous events * [lang/codegen] add codegen for anonymous events * [lang/ir] apply rustfmt * [lang/macro] comment out failing unit test Fails due to rustc version mismatch and some recent error display change. * [examples] apply rustfmt
-
- 07 Oct, 2020 1 commit
-
-
Andrew Jones authored
* Make public fields for InkProject and specs * Make layout fields public * Use scale-info from branch * Add Deserialize derives, use ReadOnlyRegistry * Deserialize contract metadata specs * Deserialize layout2 specs * WIP decode hex * Use impl_serde crate for hex byte string serde * Test for selector deserialization * Fix up custom deserialization * Export selector and add to_vec impl * Fmt * Fix up spec segments IntoCompact * Make name public * Update to latest scale-info master * Replace pub fields with getters * Replace pub fields with getters in spec * Fix search replace error with any::TypeId * Use scale-info 0.4 * Fmt * Remove commented out getter * Fix up other scale-info deps * Clippy * Fix up message and constructor spec builder method names * Serialize empty bytes vec without 0x prefix
-
- 05 Oct, 2020 1 commit
-
-
Hero Bird authored
* [lang] add doc to ink_lang::test proc. macro * [lang] add doc to ink_lang::trait_definition proc. macro * [examples] add whitespace to separate trait methods * [env] make it possible to use a primitive [u8; 32] as hash type * [lang] add doc-comment to #[ink::contract] proc. macro * [lang] add additional notes to #[ink::contract] docs * [lang] document #[ink::contract] selector controlling * [lang] add documentation for #[ink::contract] event definition and emitting * [lang] add doc section explaining env interaction via #[ink::contract] Explains Self::env() and self.env() interations. * [ci] add doc generation for ink_lang_ir and ink_lang_codegen * [lang/macro] fix docs Co-authored-by:
Michael Müller <mich@elmueller.net> * [lang/macro] fix typo Co-authored-by:
Michael Müller <mich@elmueller.net> * [ink/macro] fix typo Co-authored-by:
Michael Müller <mich@elmueller.net> * [lang/macro] improve docs Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [lang/macro] fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [lang/macro] fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [lang/macro] fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [env] implement Clear for Hash in terms of Clear for [u8; 32] * [storage] apply better formatting * [storage] make clearer that we use DynamicAllocator in test * [lang/macro] improve docs Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [lang/macro] fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> * [lang/macro] add note about payable constructors * [lang/macro] fix payable messages example * [lang/macro] add note about disabling dynamic storage allocator * [lang/macro] improve section about compile_as_dependency * [lang/macro] clear up EnvTypes SCALE encoding * [lang/macro] fix docs * [lang/macro] fix typo Co-authored-by:
Andrew Jones <ascjones@gmail.com> Co-authored-by:
Michael Müller <mich@elmueller.net> Co-authored-by:
Andrew Jones <ascjones@gmail.com>
-
- 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.
-