1. Jun 17, 2021
  2. May 25, 2021
  3. May 12, 2021
  4. Apr 21, 2021
    • Michael Müller's avatar
      Add CI for Windows (#261) · 6774f341
      Michael Müller authored
      
      
      * Add CI for building contract template under Windows
      
      * Disable `unix` specific tests
      
      * Remove build warnings due to `dead_code` with default features
      
      * Remove unused `binaryen` dependency
      
      * Ensure path is always canonicalized for comparison
      
      * Apply auto-formatting to yml
      
      * CI: optimize caching
      
      Co-authored-by: default avatarDenis P <[email protected]>
      6774f341
  5. Apr 20, 2021
    • Michael Müller's avatar
      Fix flaky CI test (#263) · 307de23e
      Michael Müller authored
      * Add fix
      
      * Revert "Add fix"
      
      This reverts commit 5c81fee5.
      
      * Generate unique contract names for tests
      
      * Fix test
      
      * Implement comments
      
      * Implement comments
      307de23e
  6. Apr 12, 2021
  7. Apr 06, 2021
  8. Mar 31, 2021
  9. Mar 30, 2021
  10. Mar 26, 2021
  11. 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
  12. Mar 18, 2021
  13. 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
  14. 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
  15. Feb 18, 2021
  16. 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
  17. 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
  18. Feb 03, 2021
  19. Jan 22, 2021
  20. Jan 18, 2021
  21. Jan 07, 2021
  22. Dec 14, 2020
  23. 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
  24. 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
  25. Nov 05, 2020
  26. Nov 02, 2020
  27. Oct 29, 2020
  28. 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
  29. Jul 09, 2020
  30. Jun 19, 2020
  31. 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
  32. May 22, 2020
  33. May 12, 2020
  34. 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