1. Apr 06, 2021
  2. Mar 31, 2021
  3. Mar 30, 2021
  4. Mar 26, 2021
  5. Mar 24, 2021
    • Michael Müller's avatar
      Support `optimization-passes` in the release profile (#231) · 3454c125
      Michael Müller authored
      * Reduce code for `OptimizationPasses`
      
      * Fix typo: zeros ➜ zeroes
      
      * Reduce code for `OptimizationPasses`
      
      * Add log output for optimization flags
      
      * Support `optimization-passes` in the release profile
      
      * Add link to Windows binary releases to Readme
      
      * Improve failed assert message
      
      * Account for `binaryen-rs` behavior
      
      * Link GitHub issue in comment
      
      * Implement comments
      
      * Update `--help`
      3454c125
  6. Mar 18, 2021
  7. Mar 10, 2021
    • Michael Müller's avatar
      Bring `test-ci-only` back (#180) · 4111385f
      Michael Müller authored
      * Revert "Revert me: Remove `--all-features` (#114)"
      
      This reverts commit 4a0d352b.
      
      * Pass verbosity flag
      
      * Format use
      
      * Run tests without `binaryen-as-dependency`
      
      * Update to `scale-info` 0.6
      
      * Fix `value used after move`
      
      * Do not continue processing wasm on `check`
      
      Results in `No such file` otherwise, since
      no *.wasm is generated on `check`.
      
      * Make casing consistent for `log` messages
      
      * Clarify behavior of `check`
      
      * Revert me: add debug output
      
      * Upgrade `cargo_metadata` to 0.13.1
      
      * Fix assert for target path `target/ink`
      
      * Revert "Revert me: add debug output"
      
      This reverts commit d2bf1dd9.
      
      * Revert "Upgrade `cargo_metadata` to 0.13.1"
      
      This reverts commit 723c9b29.
      
      * Run tests only with `binaryen-as-dependency`
      
      * Upgrade cargo-metadata and fix usages (#210)
      
      * Only allow new contract names beginning with an alphabetic character (#219)
      
      * Only allow contract names beginning with an alphabetic character
      
      * Add test for contract name beginning with a number
      
      * Add test for contract name beginning with a number
      
      * Run tests only with `binaryen-as-dependency`
      
      * Refactor
      
      * Revert "Refactor"
      
      This reverts commit defe20db
      
      .
      
      Co-authored-by: default avatarAndrew Jones <[email protected]>
      4111385f
  8. Feb 22, 2021
    • Michael Müller's avatar
      Fix `wasm-opt` regression (#187) · 95c5ee85
      Michael Müller authored
      * Use `--zero-filled-memory` for `wasm-opt`
      
      * Assert that compiled contract template is below 3k
      
      * Apply cargo fmt
      
      * Remove superfluous comment
      
      * Improve error message on `wasm-opt` error
      
      * Specify minimum binaryen version
      95c5ee85
  9. Feb 18, 2021
  10. Feb 11, 2021
    • Michael Müller's avatar
      Implement Wasm validation for known issues/markers (#171) · 4f7356b7
      Michael Müller authored
      * Implement Wasm validation for known issues/markers
      
      * Add test for invalid panic import
      
      * Add prefix to error markers
      
      * Add test for ink! codegen error marker
      
      * Implement improved linker error protocol
      
      * Move validation into its own module
      
      * Migrate tests to new linker error protocol
      
      * Fix merge
      
      * Improve code structure
      
      * Fix formatting
      
      * Improve code structure
      
      * Remove mod indirection
      
      * Replace `contains` with `starts_with`
      
      * Add note regarding equivalent ink! type necessity
      
      * Throw an error on invalid import function
      
      * Add sunny day test
      
      * Do not panic if no import section is found
      
      * Update error message on decoding error
      4f7356b7
  11. Feb 04, 2021
    • Michael Müller's avatar
      Use either `binaryen-rs` dep or `wasm-opt` binary (#168) · 0e80763c
      Michael Müller authored
      * Fix `#[warn(clippy::ptr_arg)]`
      
      * Use either `binaryen-rs` dep or `wasm-opt` binary
      
      * Implement reviewers suggestions
      
      * Rename `optimization_level` to `optimization_passes`
      
      * Revert "Rename `optimization_level` to `optimization_passes`"
      
      This reverts commit 1fd35bcd.
      
      * Update installation instructions
      
      * Update readme
      
      * Add package manager links
      0e80763c
  12. Feb 03, 2021
  13. Jan 22, 2021
  14. Jan 18, 2021
  15. Jan 07, 2021
  16. Dec 14, 2020
  17. Dec 02, 2020
    • Michael Müller's avatar
      Refactorings for `build` and `check` (#116) · 242a4812
      Michael Müller authored
      * Make naming consistent
      
      * Fix number of steps displayed in `check`
      
      * Move base name function to utilities
      
      * Shift logic to `BuildCommand` and `CheckCommand`
      
      * Consistent naming: GenerationResult ➜ BuildResult
      
      * Consistent naming: GenerateArtifacts ➜ BuildArtifacts
      
      * Update comment
      
      * Move comment to struct
      
      * Remove Note section from comment
      242a4812
  18. Nov 10, 2020
    • Michael Müller's avatar
      Implement new commands `build` and `check` + introduce bundles (.contract files) (#97) · 144ea274
      Michael Müller authored
      
      
      * Fix URIs
      
      * Make `generate-metadata` output consistent with `build`
      
      * Add `cargo contract pack`
      
      * Return error instead of panicking
      
      * Use blake2_hash()
      
      * Replace match with if
      
      * Pass reference instead of ownership
      
      * Generate metadata.json and <contract>.pack
      
      * Output .wasm, .json, .pack
      
      * Return result object instead of tuple
      
      * Get it to run with '--features test-ci-only'
      
      * Rename .pack to .contract
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * Introduce '--skip-packing' and '--skip-metadata'
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * Short help message
      
      * Output deprecated error for 'generate-metadata'
      
      * Rename pack ➜ bundle
      
      * Add 'cargo contract check' command
      
      * Optimize resulting Wasm file, except on 'check'
      
      * Do not make unoptimized file easily mistake for optimized one
      
      * Get it to run with
      
      * Update readme
      
      * Make unoptimized wasm not show up in target folder
      
      * Update comments
      
      * Remove 'generate-metadata' variants
      
      * Move dispatch logic into metadata
      
      * Update src/main.rs
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * Move logic into build.rs
      
      * Improve progress output
      
      * Make clippy happy
      
      * Fix progress output
      
      * Make it work with `--features test-ci-only`
      
      * Apply cargo fmt
      
      * Always use optimized Wasm for metadata hash
      
      * Always use optimized Wasm for metadata hash
      
      * Make it work with `--features test-ci-only`
      
      * Switch naming
      
      * Fix metadata/bundle output
      
      * Use enum `BuildArtifacts` instead of boolean flags
      
      * Improve misleading fn name
      
      * Make it work with `--features test-ci-only`
      
      * Make output more concise
      
      * Print optimization result at the end
      
      * Improve output
      
      * Replace 5-tuple return value with struct
      
      * Include hash only for bundle in metadata
      
      * Make it work with `--features test-ci-only`
      
      * Fix doc test
      
      * Remove comments
      
      * Introduce wrapper type CodeHash
      
      * Make it work with `--features test-ci-only`
      
      * Display important results bold
      
      * Include size diff for `code-only` as well
      
      * Remove comment
      
      * Shorten code
      
      * Clone metadata for correct UI output
      
      * Remove unnecessary return
      
      * Fix return type
      
      * Print metadata generation in correct step
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      144ea274
  19. Nov 05, 2020
  20. Nov 02, 2020
  21. Oct 29, 2020
  22. Jul 23, 2020
    • Andrew Jones's avatar
      Generate extended contract metadata (#62) · d28a743b
      Andrew Jones authored
      * Generate main.rs with quote for passing extension metadata
      
      * Update template to scale-info 0.3
      
      * Rename ink_abi package to ink_metadata
      
      * Temporarily change ink dependency branch to aj-extra-metadata
      
      * Fix up metadata generation codegen
      
      * Promote metadata mod to directory
      
      * Move InkProjectExtension data structure over from ink! PR
      
      * Revert "Generate main.rs with quote for passing extension metadata"
      
      This reverts commit 0929ce8a
      
      * Make it compile
      
      * Flatten metadata struct
      
      * Fmt
      
      * Capture ink metadata from stdout
      
      * Update comment
      
      * Construct hardcoded metadata values
      
      * Remove contract metadata builder, it is redundant
      
      * Generate contract wasm hash
      
      * Refactor: extract CrateMetadata for use in both metadata and build
      
      * Fmt
      
      * Rust version
      
      * Contract version
      
      * Add remaining optional enhanced metadata
      
      * Move wasm build, make repo and license work
      
      * Just use a String for the license
      
      * Remove unused variants
      
      * Read docs and homepage urls directly from manifest
      
      * Read user defined metadata
      
      * Fmt
      
      * This PR no longer depends on an updated version of ink!
      
      * Fix test error, refactor commands to use common method name
      
      * Fmt
      
      * Refactor crate metadata collection
      
      * Remove ink_lang dependency from generated metadata crate
      
      * Fmt
      
      * Return metadata path from generation
      
      * Fmt
      
      * Test metadata wasm hash
      
      * Fmt
      
      * Read ink language version
      
      * Ensure tmp dir is cleaned up after build
      
      * Make cargo-contract tmp dir not hidden
      
      * Fmt
      
      * Test source compiler, contract name, contract version
      
      * Use ink branch temporarily
      
      * Test for authors and documentation
      
      * Test user provided metadata section
      
      * Drop automatically handles tempdir removal
      
      * Remove redundant unwind bound
      
      * Comment crate features
      
      * Revert template to point at ink master
      
      * Self
      
      * Update comment
      
      * Remove redundant comment
      d28a743b
  23. Jul 09, 2020
  24. Jun 19, 2020
  25. Jun 16, 2020
    • Andrew Jones's avatar
      Add preferred default release profile settings (#55) · 4a265c3d
      Andrew Jones authored
      * Add preferred defaults to `[profile.release]` section
      
      * Add preferred profile.release defaults for contract build
      
      * Remove [release.profile] section, update to scale-info release
      
      * Fmt
      
      * Fix remaining type-metadata reference in template
      
      * Remove unused default impl of Profile
      
      * OptLevel refactoring
      
      * Indent test toml for readability
      
      * Specify exact Lto values
      
      * Make OptLevel consistent with Lto (no option)
      
      * Revert to using type-metadata until ink! 3.0 release
      4a265c3d
  26. May 22, 2020
  27. May 12, 2020
  28. Feb 26, 2020
    • Andrew Jones's avatar
      Fail the build if xbuild fails (#41) · 2e8f9e6f
      Andrew Jones authored
      * Fail the build if xbuild fails
      
      * Debug log now redundant
      
      * Add wasm-opt to release notes
      2e8f9e6f
    • Andrew Jones's avatar
      Reduce wasm binary size with `cargo-xbuild` & removing `rlib` crate-type (#33) · ec118fff
      Andrew Jones authored
      * WIP: building wasm with xargo
      
      * Fix compilation errors
      
      * Fmt
      
      * Run commands with `rustup run nightly`
      
      * Pass separate link-args in rustflags for xargo compat
      
      * Warn user if 'rlib' crate type
      
      * Colourise printed error
      
      * Ignore Xargo.toml in template
      
      * Refactor Xargo file generation, only remove if generated.
      
      * WIP: Add rlib crate-type when generating metadata
      
      * Add rlib when building metadata, remove when building wasm
      
      * Fmt
      
      * Make error bright red
      
      * Fix generating without modified Cargo.toml
      
      * Don't need to check nightly installed, the command will fail
      
      * Only load toml when ready to modify: allow for multi usage
      
      * Fmt
      
      * Show error context
      
      * Debug crate metadata
      
      * Disable rlib by default for template
      
      * Use correct working dir, not workspace root
      
      * Use `cargo-xbuild` as lib
      
      * Check for nightly channel
      
      * Check for correct xbuild configuration
      
      * Add xbuild config to template
      
      * Fix xbuild config check and use latest xbuild version
      
      * Fmt
      
      * Restore tempfile dev dependency
      
      * Move xbuild config to the end of the file
      
      * Enable rlib by default in template
      
      * Don't need nightly for generating the metadata
      
      * Actually do need nightly, and just run plain cargo
      
      * Not verbose: need to pass that flag through properly
      
      * Fmt
      
      * Fix tests
      
      * Error when xbuild config not present, and update README
      
      * Fix tests
      
      * Remove references to xargo and update readmes
      
      * Fmt
      
      * Add error context to cargo invocation
      
      * Fix tests compilation
      
      * Fmt
      
      * Nightly toolchain for CI
      
      * Add docs for nightly toolchain requirement
      
      * Link to nightly docs
      
      * Disable backtrace on CI
      
      * Make tests pass
      
      * Install rust-src
      
      * Disable backtrace to make tests pass
      
      * Move args closer to invocation
      
      * Create temporary Cargo.toml
      
      * Rework temp manifest api
      
      * Target dir is already absolute
      
      * temp dir prefix
      
      * xbuild config with sysroot path and explicit args
      
      * Use custom xbuild branch
      
      * Remove check for xbuild config
      
      * Rewrite relatives paths when using temp file
      
      * Fix dependency path rewrite
      
      * Update cargo-xbuild
      
      * workspaces: parse workspace member manifests
      
      * WIP workspaces
      
      * Implement temp workspace copy
      
      * Fmt
      
      * Rewrite bin relative path
      
      * Handle package rename for contracts
      
      * Fmt
      
      * Pass rustflags by setting env var
      
      * Fmt
      
      * Use abs path for lib default
      
      * Add 1 decimal place to file size
      
      * Make generate-metadata work, introduces ManifestPath
      
      * Fmt
      
      * cargo update
      
      * Rename manifest to workspace
      
      * Fix test compilation and fmt
      
      * Fix link
      
      * Add prerequisites section to readme
      
      * Remove rust-src component (added to image)
      
      * Fix deploy build
      
      * Use builder like method for amending root manifest
      
      * List installed components
      
      * Show active-toolchain and whether rust-src installed
      
      * Install nightly rust-src (temporary)
      
      * Fix metadata test
      
      * Fmt
      
      * Remove manual install of rust-src and diagnostics
      
      * More doc comments
      
      * Add verbosity flags
      
      * Add verbosity flags to metadata command
      
      * Fix working dir for generate-metadata
      
      * Add verbosity to tests
      
      * Add verbosity to tests
      
      * Make url optional and cargo update
      
      * Remove bk file from gitignore
      
      * Bump version
      
      * Fix comment and formatting
      
      * Add CHANGELOG.md
      v0.4.0
      ec118fff
  29. Feb 04, 2020
  30. Jan 06, 2020
  31. Nov 28, 2019
  32. Nov 26, 2019
  33. Nov 25, 2019
    • Hero Bird's avatar
      Fix CI (finally) (#265) · 708b3dc8
      Hero Bird authored and Andrew Jones's avatar Andrew Jones committed
      
      
      * Update some deps
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * Format
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * Fix clippy-wasm
      
      Signed-off-by: default avatarkoushiro <[email protected]>
      
      * [examples] fix minor formatting issues
      
      * [examples] fix some clippy warnings
      
      * [lang2/macro] silence warning for ink! constructors named "new"
      
      * [*] replace documentation link in Cargo.toml to ink! tutorial
      
      * [abi] specify allow(clippy::trivially_copy_pass_by_ref) in a smaller scope
      
      * [abi] specify allow(clippy::new_ret_no_self) in smaller scope
      
      * [ci] adjust gitlab-ci.yml
      
      * [ci] update Travis CI to just do coverage reporting
      708b3dc8
  34. Nov 14, 2019
    • Hero Bird's avatar
      Improve GitLab CI (#235) · e8149bed
      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
      e8149bed