1. 28 Sep, 2022 1 commit
    • Michael Müller's avatar
      Add E2E testing framework MVP (#1395) · 64fbe40a
      Michael Müller authored
      * Add missing words to spellcheck dictionary
      
      * Add `contracts-node.scale` metadata
      
      Has been exported via
      
      	cargo install subxt-cli
      	subxt metadata > contracts-node.scale
      
      For `substrate-contracts-node` v0.20.0.
      
      * Run `substrate-contracts-node` in CI
      
      * Invoke `cargo doc` separately for each crate
      
      * Add MVP for E2E testing framework
      
      * Add E2E tests for `contract-transfer` example
      
      * Add ToDo comment for migration to `state_call` RPC
      
      * Update to new `ink` entrance crate
      
      * Add ToDo for `node_log_contains`
      
      * Update to `ink` entrance crate
      
      * Migrate to `state_call` RPC
      
      * Always initialize `env_logger`
      
      * Use latest `subxt` release
      
      * Remove superfluous TODO
      
      * Apply `cargo fmt`
      
      * Adapt test fixtures
      64fbe40a
  2. 21 Sep, 2022 2 commits
  3. 20 Sep, 2022 1 commit
  4. 13 Sep, 2022 1 commit
    • Andrew Jones's avatar
      Combine storage traits and derives into single crate (#1389) · fb871a04
      Andrew Jones authored
      * Add ink_storage_traits crate
      
      * Remove unused hash layout trait and impls
      
      * Remove dependency between storage traits and ink_env
      
      * Move Storable definition and derive to ink_storage_traits
      
      * Replace usages of primitives storable with new location
      
      * Fmt
      
      * README and license sym links
      
      * Fix up CI script crates and codegen symlinks
      
      * update CI crates again
      
      * Add StorageLayout impl for Hash
      
      * Fix up collections ui tests
      
      * Fix up storage traits tests
      
      * Add missing feature to codegen syn dependency
      
      * Fix storage traits reference in env
      
      * Add missing no_std cfg_attr
      
      * Fix example build
      
      * Fmt
      
      * Fix example
      
      * Move Clear trait to primitives
      
      * Fix example
      
      * Fix env access
      
      * Fix up docs
      
      * Trying to fix UI tests
      
      * Fix LICENSE and README paths
      fb871a04
  5. 24 Aug, 2022 1 commit
    • Hernando Castano's avatar
      Release `v4.0.0-alpha.1` (#1363) · 96ef338d
      Hernando Castano authored
      
      
      * Add release notes for `v4.0.0-alpha.1`
      
      * Mention breaking changes in changelog
      
      * Bump version to `4.0.0-alpha.1`
      
      * Fix header levels after merge
      
      * Fix some formatting
      
      * Add some notes about the breaking changes
      
      * Add links to PRs
      
      * Add note about linting move
      
      * Bump `ink_linting` crate to `4.0.0-alpha.1`
      
      * Remove `nightly` usage from delegator build script
      
      * Use dashes instead of minus signs
      
      Co-authored-by: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * Beef up description of linter PR
      
      Co-authored-by: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * Move compatibility section to top of release notes
      
      * Explicitly use `stable` channel
      
      Our Docker images still default to `nightly`
      
      * Build contracts with `stable` toolchain
      
      * Install `rust-src` component before building examples
      
      * Run the rest of the CI stages again
      
      Co-authored-by: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      96ef338d
  6. 04 Aug, 2022 1 commit
  7. 15 Jul, 2022 1 commit
  8. 25 May, 2022 1 commit
  9. 18 May, 2022 1 commit
    • Michael Müller's avatar
      Release ink! 3.1.0 (#1240) · 07be64c7
      Michael Müller authored
      * Updated release notes
      
      * Bump versions to `3.1.0`
      
      * Update release notes
      
      * Update release notes
      
      * Remove `eth_compatibility/Cargo.toml`
      
      * Update links to releases
      07be64c7
  10. 06 Apr, 2022 1 commit
    • Hernando Castano's avatar
      Release `Version 3.0.1` (#1190) · 905caa41
      Hernando Castano authored
      
      
      * Bump `ink_lang_codegen` crate to `v3.0.1`
      
      * Actually, don't bump in `ink_lang_macro`
      
      * Bump to version `3.0.1`
      
      * Add release notes
      
      * Add section for `examples/` release procedure
      
      * Add some details to release checklist
      
      * Move `Version 3.0.1` out of `Unreleased`
      
      * More updates to the release checklist
      
      * Mark all examples as `publish = false`
      
      * Make release notes consistent with old releases
      
      Co-authored-by: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * Add mention to `crates.io`
      
      * `package.publish` value shouldn't be a string
      
      * Update RELEASES_CHECKLIST.md
      
      * Update RELEASES_CHECKLIST.md
      
      Co-authored-by: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      905caa41
  11. 17 Mar, 2022 1 commit
    • Michael Müller's avatar
      Release ink! 3.0.0 (#1160) · 159e7db1
      Michael Müller authored
      * Bump version
      
      * Add release notes
      
      * Update readme
      
      * Update release notes
      
      * Update release notes
      
      * Update release notes to reflect stabilized `seal_delegate_call`
      159e7db1
  12. 10 Mar, 2022 1 commit
  13. 02 Mar, 2022 1 commit
  14. 23 Feb, 2022 1 commit
    • Michael Müller's avatar
      Release ink! 3.0.0-rc9 (#1135) · 07a8ed9b
      Michael Müller authored
      * Bump crate versions to `3.0.0-rc9`
      
      * Improve documentation of `ink_storage::Mapping`
      
      * Hide `Memory`
      
      * Update release notes
      
      * Remove `Memory`
      
      * Remove `Memory`
      
      * Fix doc test
      
      * Add `Changed` section to release notes
      
      * Update release notes
      
      * Update release notes
      07a8ed9b
  15. 18 Feb, 2022 1 commit
  16. 16 Feb, 2022 1 commit
  17. 10 Feb, 2022 1 commit
    • Davide Galassi's avatar
      Enable use of global secp256k1 context (#1123) · 88b12d69
      Davide Galassi authored
      * Enable use of global secp256k1 context
      
      Context creation is expensive.
      
      Use the preallocated context that ships with the library.
      
      * Cargo fmt
      
      * Set `secp256k1` crate as optional
      
      * `global-context` feature depends on `std`
      * Its usage scope was already limited to `std` environment
      
      * ink-engine requires `secp256k1` feature
      88b12d69
  18. 20 Jan, 2022 1 commit
  19. 17 Jan, 2022 1 commit
  20. 16 Dec, 2021 1 commit
  21. 08 Dec, 2021 2 commits
  22. 30 Nov, 2021 1 commit
  23. 26 Nov, 2021 1 commit
  24. 25 Nov, 2021 1 commit
  25. 24 Nov, 2021 1 commit
    • Michael Müller's avatar
      Remove the state rent API (#1036) · 9ea95ff7
      Michael Müller authored
      * Remove the state rent API
      
      * Apply `cargo fmt`, make clippy happy
      
      * Make clippy happy
      
      * Remove unused `sp-arithmetic` dep
      
      * Remove `RentFraction` and related deps
      
      * Update test fixtures
      9ea95ff7
  26. 09 Nov, 2021 1 commit
  27. 22 Oct, 2021 1 commit
    • Michael Müller's avatar
      Upgrade `libsecp256k1` from 0.3.5 ➔ 0.7.0 (#967) · 4534c4a1
      Michael Müller authored
      * Upgrade `libsecp256k1` from `0.3.5` ➔ `0.7.0`
      
      * Include off-chain dependencies only when necessary
      
      * Include off-chain dependency only when necessary
      
      * Include off-chain dependency only when necessary
      
      * Switch to `secp256k1` for `eth_compatibility` crate
      
      * Remove conditional dependency
      
      * Fix serialize
      
      * Switch to `secp256k1` crate everywhere
      
      * Switch to `secp256k1` crate everywhere
      
      * Fix compilation for `wasm32` target
      
      * Ensure enabled features are not merged for targets
      
      * Make clippy happy
      
      * Use resolver `2` in all examples
      
      * Switch to `libsecp256k1` 0.7.0
      
      * Use default features
      
      * Bring comment back
      
      * Reduce diff
      
      * Remove unnecessary import
      
      * Update rustfmt config to edition 2018
      
      * Use resolver `2` for workspace
      4534c4a1
  28. 21 Oct, 2021 1 commit
  29. 18 Oct, 2021 1 commit
  30. 14 Oct, 2021 1 commit
    • GreenBaneling | Supercolony's avatar
      Implemented ECDSA recover function. (#914) · 284e4e55
      GreenBaneling | Supercolony authored
      * Implemented ecdsa recovery function.
      Added method `to_eth_address` and `to_account_id`.
      Added tests.
      
      * Cargo fmt
      
      * Added `ECDSA` and `Ethereum` to dictionary
      
      * Fixed comments according a new spellcheck
      
      * Fixes according comments in review.
      
      * Fixed build issue for wasm
      
      * Use struct instead of alias for `EthereumAddress`.
      
      * cargo fmt --all
      
      * Simplified `ecdsa_recover`.
      USed symbolic links instead files.
      
      * Added documentation for `to_eth_address` and `to_account_id` methods.
      
      * Renamed `to_account_id` into `to_default_account_id`
      
      * Cargo fmt
      
      * Removed DeRef trait. Now field of `EthereumAddress` and `ECDSAPublicKey` is private.
      
      * Fixed doc test for ecdsa_recover in EnvAccess
      284e4e55
  31. 11 Oct, 2021 1 commit
  32. 21 Sep, 2021 1 commit
  33. 09 Sep, 2021 1 commit
  34. 22 Jul, 2021 1 commit
  35. 20 Jul, 2021 1 commit
    • Hernando Castano's avatar
      Add Bump Allocator (#831) · 5fd8f876
      Hernando Castano authored
      * Add bump allocator skeleton
      
      * Implement `alloc` for our bump allocator
      
      * Make the allocator usable globally
      
      * Remove unused `init()` function
      
      * Nightly RustFmt
      
      * Use global mutable static instead of Mutex
      
      This will reduce our use of dependencies which will hopefully
      reduce our final Wasm binary size.
      
      Also, apparently spinlocks aren't actually all that efficient.
      See: https://matklad.github.io/2020/01/02/spinlocks-considered-harmful.html
      
      * Stop assuming that memory is allocated at address `0`
      
      * Remove semicolon
      
      * Use correct address when checking if we're OOM
      
      * Remove unnecessary unsafe block
      
      * Return null pointers instead of panicking
      
      Panicking in the global allocator is considered undefined behaviour.
      
      * Use `checked_add` when getting upper limit memory address
      
      * Use `MAX` associated const instead of `max_value`
      
      * Inline `GlobalAlloc` methods
      
      * Turns out I can't early return from `unwrap_or_else` 🤦
      
      * Rollback my build script hacks
      
      * Add initialization function to allocator
      
      * Add some docs
      
      * Make the bump allocator the default allocator
      
      * Allow bump allocator to be tested on Unix platforms
      
      * Remove unecessary checked_add
      
      * Add error messages to unrecoverable errors
      
      * Remove `init` function from allocator
      
      Instead we now request a new page whenver we need it, regardless
      of whether or not it's the first time we're allocating memory.
      
      * Try switching from `mmap` to `malloc` when in `std` env
      
      * Fix `is_null()` check when requesting memory
      
      * Stop requesting real memory for `std` testing
      
      Instead this tracks pages internally in the same way that the Wasm
      environment would. This means we can test our allocator implementation
      instead of fighting with `libc`.
      
      * Gate the global bump allocator when not in `std`
      
      * Allow for multi-page allocations
      
      * Update the module documentation
      
      * Override `alloc_zeroed` implementation
      
      * Forgot to update Wasm target function name
      
      * Appease the spellchecker
      
      * Use proper English I guess
      
      * Get rid of `page_requests` field
      
      * Explicitly allow test builds to use test implementation
      
      * All link to zero'd Wasm memory reference
      
      * Check that our initial pointer is 0 in a test
      
      * Add `cfg_if` branch for non-test, `std` enabled builds
      
      * Simplify `cfg_if` statement
      5fd8f876
  36. 09 Jun, 2021 1 commit
    • Andrew Jones's avatar
      Implement `seal_debug_message` (#792) · 2458e0c0
      Andrew Jones authored
      
      
      * Implement `seal_debug_message`
      
      * Update docs
      
      * Fmt
      
      * Fix debug_print macro
      
      * review: use newline char
      
      Co-authored-by: default avatarRobin Freyler <robin.freyler@gmail.com>
      
      * Fix example
      
      * Revert to newline string
      
      * Fmt
      
      * Single call to debug_print for debug_println!
      
      * Add missing ReturnCode, still need to handle it
      
      * Inline debug_println!
      
      * If logging is disabled then subsequent calls will be a no-op
      
      * Fmt
      
      * Fix missing error match in experimental off-chain
      
      * Add safety comment to debug_message
      
      * Only re-export ink_prelude::format, and explain
      
      * Satisfy clippy
      
      * Encapsulate DEBUG_ENABLED global in module
      
      * Move seal_denug_message to unstable module
      
      * Update unstable and safety comments
      
      * Add more comments about the required features to be enabled on the node runtime
      
      * Add `ink-debug` feature, make debug messages a noop if not enabled
      
      * Fmt
      
      * Noop macro formatting
      
      * Enable debug printing for std
      
      * Comment formatting
      
      * Encapsulate static variable inside the function
      
      * Fmt
      
      * Remove debug_assert!(true) for disabled macros
      
      Co-authored-by: default avatarRobin Freyler <robin.freyler@gmail.com>
      2458e0c0
  37. 26 May, 2021 1 commit
    • Michael Müller's avatar
      Implement `seal_rent_params` (#755) · cbf08a02
      Michael Müller authored
      * Fix typo
      
      * Add `seal_rent_params`
      
      * Make `rent_params` only available on `ink-unstable`
      
      * wip
      
      * wip
      
      * Wrap `seal_rent_params` in `__unstable__`
      
      * Add `rent_params` to experimental off-chain env
      
      * Fix return type
      
      * Remove comments
      
      * Remove debugging code
      
      * Remove `ink-unstable` feature
      cbf08a02
  38. 10 May, 2021 1 commit
    • Michael Müller's avatar
      Implement MVP for new off-chain testing engine (#712) · 1a19f937
      Michael Müller authored
      * Add `engine` crate
      
      * Add `env_types` crate
      
      * Adapt `env`, `lang` and `storage`
      
      * Adapt examples
      
      * Adapt CI
      
      * Symlink license and readme
      
      * Throw `TypedEncoded` out of `engine`
      
      * Improve Erc20
      
      * Bump versions to rc3
      
      * Fix clippy error: Manual implementation of `Option::map` (#717)
      
      * Implement comments
      
      * Fix yml
      
      * Improve structure
      
      * Add tests
      
      * Fix function signature
      
      * Get rid of `engine`s singleton
      
      * Revert instantiate stuff
      
      * Implement review comments
      
      * Make `Storage` non-generic
      
      * Improve API for emmitted events
      
      * Migrate to `panic_any`
      
      * Clean up import
      
      * Import `panic_any`
      
      * Implement comments
      
      * Fix param
      
      * Use type
      
      * Store balances in chain storage
      
      * Fix tests
      
      * Use individual storage per contract
      
      * Implement comments
      1a19f937