1. 05 Mar, 2021 4 commits
  2. 03 Mar, 2021 1 commit
  3. 02 Mar, 2021 2 commits
    • Hero Bird's avatar
      ink! 3.0-rc3 pre-release changes and adjustments (#713) · ac501b24
      Hero Bird authored
      * adjust rustfmt.toml
      * add ink-fizz-tests feature guard to some test API
      * update ink! crates to version 3.0.0-rc3
      * write release notes for ink! 3.0-rc3
      * apply formatting to imports_granularity
    • Michael Müller's avatar
      Minor improvements (#710) · 2b3d47c7
      Michael Müller authored
      * Fix nightly clippy warning: `inconsistent_struct_constructor`
      * Provide suggestion for fixing unitialized execution context
      * Ensure consistent versioning
      * Fix typos
  4. 24 Feb, 2021 1 commit
  5. 22 Feb, 2021 1 commit
  6. 19 Feb, 2021 2 commits
  7. 10 Feb, 2021 1 commit
    • Michael Müller's avatar
      Improve ink! linker error protocol (#685) · 8228bf0d
      Michael Müller authored
      * Improve ink! linker error protocol
      * Improve order of parameters
      * Encode `EnforcedError` object into function signature
      * Improve doc comments
      * Add doc comment
      * Improve doc comment
  8. 05 Feb, 2021 2 commits
  9. 04 Feb, 2021 3 commits
    • Michael Müller's avatar
      Evaluate migration of `SmallVec` to `min_const_generics` (#598) · 3d337f46
      Michael Müller authored
      * Get rid of `generic-array`
      * Remove comment
      * Fmt and get rid of feature flags
      * Include Vec
      * Make clippy happy
      * Add `into_inner` back in
      * Do not allocate heap memory
      * Use `array_init` for initializing
      * Revert me: Activate `const-generics` feature in `array-init`
      * Remove `feature(array_map)`
      * Remove feature flag, since it is now stable on nightly
      * Add feature `ink-unstable`
      * Put `LazyArray` behind `ink-unstable` feature
      * Remove newline
      * Allow dead code in `LazyArray` when `ink-unstable` missing
      * Remove unnecessary allow
    • Hero Bird's avatar
      Use BLAKE2b 256-bit hashes for selectors (#680) · e22a0feb
      Hero Bird authored
      * use BLAKE2b 256-bit hashes for selectors
      Before this PR we accidentally used BLAKE2b 512-bit hashing.
      Using 256-bit versions is important for smart contracts so that smart contracts can compute selector hashes on their own through the built-in contracts-pallet hash support which includes BLAKE2b 256-bit but not 512-bit.
      * apply rustfmt
    • Michael Müller's avatar
      Add generalized collection fuzz testing (#601) · a50bf6d3
      Michael Müller authored
      * Add generalized collection fuzz testing
      * Use `StorageHashMap::FromIter`
      * Use `saturating_mul`
      * Update to new `quickcheck` API
      * Adopt year to 2021 in license
      * Implement suggestions from review
  10. 03 Feb, 2021 2 commits
  11. 02 Feb, 2021 3 commits
    • Michael Müller's avatar
      Debug why no issue is created for failing fuzz test (#671) · 36c94019
      Michael Müller authored
      * Revert me: Run fuzz tests on this branch
      * Add debug output
      * Revert me: Decrease number of runs
      * Do not stop CI stage on exit code 1
      * Revert "Revert me: Decrease number of runs"
      This reverts commit 88d6b2c5.
      * Revert "Add debug output"
      This reverts commit 2be03bce.
      * Revert "Revert me: Run fuzz tests on this branch"
      This reverts commit 7493421b.
    • Michael Müller's avatar
      Fix broken intra-doc links + add CI stage to test example docs (#606) · 7aaf4dcc
      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: default avatarHero Bird <robin.freyler@gmail.com>
      Co-authored-by: default avatarHero Bird <robin.freyler@gmail.com>
    • hammeWang's avatar
      Bump codec and scale-info in rand-extension (#670) · ad89397f
      hammeWang authored
      * add #[ink:chain_extension] example contract
      * modify return content
      * fix rustfmt CI fail
      * bump codec and scale-info in rand-extension
  12. 28 Jan, 2021 6 commits
  13. 27 Jan, 2021 1 commit
  14. 19 Jan, 2021 1 commit
    • Andrew Jones's avatar
      [env] pass salt argument to instantiate host function (#599) · 1daf6a8e
      Andrew Jones authored
      * WIP
      * Add salt argument to instantiate call
      * Fix lang compilation
      * Fix salt to [u8; 4]
      * Make create builder generic over Salt
      * Use type state instead of ()
      * Rename salt to salt_bytes
      * Fmt
      * Apply review suggestion: type state enum
      * Apply review suggestion: separate impl block for salt_bytes getter
      * Apply review suggestion: take salt bytes directly to avoid copy overhead
      * Apply review suggestion: use Salt type state instead of leftover concrete type
      * Apply review suggestion: fix doc tests
  15. 13 Jan, 2021 3 commits
  16. 12 Jan, 2021 1 commit
    • Hero Bird's avatar
      Implement ink! chain extensions (#592) · 59a7f5ed
      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's avatarMichael Müller <michi@parity.io>
      * fix docs (code suggestion)
      Co-authored-by: Michael Müller's avatarMichael Müller <michi@parity.io>
      * fix docs (code suggestion)
      Co-authored-by: Michael Müller's avatarMichael Müller <michi@parity.io>
      * fix docs (code suggestion)
      Co-authored-by: Michael Müller's avatarMichael Müller <michi@parity.io>
      * add dev. note to Backend::call_chain_extension
      * fix docs example (code suggestion)
      Co-authored-by: Andrew Jones's avatarAndrew 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's avatarAndrew Jones <ascjones@gmail.com>
      * fix docs (review suggestion)
      Co-authored-by: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      * improve docs (review suggestion)
      Co-authored-by: Andrew Jones's avatarAndrew 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's avatarMichael Müller <michi@parity.io>
      Co-authored-by: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
  17. 05 Jan, 2021 1 commit
  18. 04 Jan, 2021 1 commit
  19. 28 Dec, 2020 1 commit
  20. 16 Dec, 2020 1 commit
  21. 14 Dec, 2020 1 commit
  22. 11 Dec, 2020 1 commit