Skip to content
  1. Mar 18, 2021
  2. 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
  3. Mar 09, 2021
  4. Feb 24, 2021
  5. 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
  6. Feb 18, 2021
  7. 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
  8. 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
  9. Feb 03, 2021
  10. Jan 22, 2021
  11. Jan 18, 2021
  12. Jan 07, 2021
  13. Jan 05, 2021
  14. Dec 14, 2020
  15. 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
  16. Nov 30, 2020
  17. Nov 11, 2020
  18. Nov 10, 2020
    • Michael Müller's avatar
    • 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. Oct 13, 2020
    • Andrew Jones's avatar
      Release v0.7.0 (#82) · ec3394a0
      Andrew Jones authored
      * Use ink 3.0.0-rc1
      
      * Fix template ink deps
      
      * Fix deprecation warnings
      
      * Update CHANGELOG.md
      
      * Update README
      
      * Fmt
      
      * Add README to metadata crate to allow publishing
      
      * Add templates dir to include for publishing
      
      * Update Cargo.lock
      
      * Just make it 0.7.0 release
      v0.7.0
      ec3394a0
  23. Sep 10, 2020
    • Andrew Jones's avatar
      Extract contract metadata to its own crate (#69) · f0e7cabb
      Andrew Jones authored
      * Extract contract metadata to its own crate
      
      * Add json serialization test
      
      * Add json test for excluding optional fields
      
      * Add doc tests and rename to contract-metadata
      
      * Fmt
      
      * Fix tests
      
      * Fmt
      
      * Builder API for contract metadata
      
      * Tests for builder pattern
      
      * Fmt
      
      * Make metadata version camel case
      
      * Builder optional fields
      
      * Check whether fields have not already been set
      
      * Check at least one author
      
      * I really should check it compiles before pushing
      
      * Oh yeah and cargo fmt fml
      
      * Yeah
      f0e7cabb
  24. 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
  25. Jul 09, 2020
  26. Jun 25, 2020
  27. Jun 24, 2020
    • Andrew Jones's avatar
      Autogenerate abi/metadata package (#58) · 80716750
      Andrew Jones authored
      * Use into for constructing toml values
      
      * Promote workspace mod to directory
      
      * Fix import warnings
      
      * Update license headers
      
      * Remove abi package from template, generate it instead
      
      * Extract contract name and generate files
      
      * Fix some errors
      
      * Insert ink_lang dependency
      
      * Fmt
      
      * ink! v2 compatibility
      
      * Use new generate_metadata extern
      
      * Warn the user if they have legacy abi_gen artifacts
      
      * Move existing abi package check to the right place
      
      * Remove v2 backwards compat, use ink! master in template
      
      * Remove type_metadata dependency
      
      * Fix up template for working with ink! master
      
      * Update template lib.rs for ink! 3
      
      * Fix template
      
      * Fix template constructors
      
      * Try again with template
      
      * Move template files to templates dir
      
      * Rename abi to metadata
      
      * Rename abi constant and update warning
      
      * More renames from abi to metadata
      
      * Document generate_package function
      
      * Fmt
      
      * More abi to metadata renames
      
      * Update template parity-scale-codec
      
      * Bump version
      ink-ci
      80716750
  28. Jun 19, 2020
  29. 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
  30. May 22, 2020
  31. May 13, 2020
  32. May 12, 2020
  33. 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
  34. Feb 04, 2020