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. 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
  4. Feb 18, 2021
  5. 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
  6. 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
  7. Feb 03, 2021
  8. Jan 22, 2021
  9. Jan 18, 2021
  10. Jan 07, 2021
  11. Dec 14, 2020
  12. 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
  13. 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
  14. Nov 05, 2020
  15. Nov 02, 2020
  16. Oct 29, 2020
  17. 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
  18. Jul 09, 2020
  19. Jun 19, 2020
  20. 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
  21. May 22, 2020
  22. May 12, 2020
  23. 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
  24. Feb 04, 2020
  25. Jan 06, 2020
  26. Nov 28, 2019
  27. Nov 26, 2019
  28. 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
  29. 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
  30. Nov 13, 2019
  31. Nov 09, 2019
    • Andrew Jones's avatar
      [cli] add generate-abi command (#209) · 2bfba5ab
      Andrew Jones authored
      * [cli] add flag to `build` command to generate abi
      
      * [cli] fix abi console output
      
      * [cli] restore +nightly
      
      * [cli] separate generate-abi command
      
      * [cli] move nightly check to exec_cargo fn
      
      * [cli] add test for generate_abi
      2bfba5ab
  32. Oct 24, 2019
    • Andrew Jones's avatar
      [cli] fix `new` command tests, pass in optional target dir (#197) · 8a97f6a4
      Andrew Jones authored
      * [cli] use temp dir for `cargo contract new` tests
      
      * [cli] pass in temp dir to build command
      
      * [cli] rustfmt
      
      * [cli] remove some spaces
      
      * [cli] rustfmt
      
      * [cli] fix unused warnings
      
      * [cli] TEMPORARY: see if test works on CI without nightly flag
      
      * [cli] build: check if nightly toolchain is the default
      
      * [cli] TEMPORARY: dump cargo output of build command test
      
      * [cli] TEMPORARY: fix error in las commit
      
      * [cli] TEMPORARY: add some diagnostics to see if .cargo/config is there
      
      * [cli] TEMPORARY: use cat
      
      * [cli] fix merge compilation error
      
      * [cli] change ls and cat commands to current_dir
      
      * [cli] fix troubleshooting logging
      
      * [cli] TEMPORARY: comment out RUSTFLAGS for troubleshooting
      
      * [cli] add link-dead-code args to top level .cargo/config
      
      Avoids RUSTFLAGS env var overriding contract project's rust flags
      
      * [cli] revert temporary CI build troubleshooting
      
      * [cli] make rustflags not target specific
      
      * [cli] only link-dead-code in CI
      
      * [cli] TEMP: output .cargo/config
      
      * [cli] printf instead of echo
      
      * [ci] create cargo config in $CARGO_HOME instead of workspace root
      
      * [ci] fix cargo_home path
      
      * [ci] overwrite rather than append cargo home config
      
      * [ci] restore original RUSTFLAGS, ignore failing build test
      
      * [ci] remove stray echo
      8a97f6a4
  33. Oct 04, 2019
    • Andrew Jones's avatar
      [cli] deploy command (#131) · 552ac252
      Andrew Jones authored
      * [cli] construct put_code extrinsic
      
      * [cli] fetch current account nonce
      
      * [cli] submit extrinsic skeleton
      
      * [cli] submit extrinsic compiles and works?
      
      * [cli] refactor futures
      
      * [cli] extract substrate rpc module
      
      * [cli] Encapsulate rpc calls in struct
      
      * [cli] extract rpc call methods
      
      * [cli] temporarily add patch for client pub/sub
      
      * [cli] generic Hash
      
      * [cli] back to explicit H256
      
      * [cli] update parity-codec
      
      * [cli] add methods to submit and watch, and fetch events
      
      * [cli] update to paritytech jsonrpc repo patch
      
      * [cli] switch to ws transport
      
      * [cli] WIP: return extrinsic result with code hash
      
      * [cli] subscribe to block events
      
      * [cli] use jsonrpc 12.1 rather than crates,io patch
      
      * [cli] add logging for troubleshooting
      
      * [cli] deserialize OpaqueExtrinsic properly, logging for ext hash
      
      * [cli] still trying to get the Events for the block
      
      * [cli] log events storage key for debugging
      
      * [cli] refactor: function to extract extrinsic events
      
      * [cli] move extract code hash to deploy
      
      * ignore rust-toolchain file used for local builds
      
      * Update to new extrinsic format with extra
      
      * Fix signature with extra
      
      * Make System Events subscription work
      
      * Refactor EventRecord decoding
      
      * Extract code hash from events
      
      * rustfmt
      
      * Refactor: extract functions from Author
      
      * Remove stuff from .gitignore which could go in .git/info/exclude
      
      * Remove ws::connect unwraps
      
      * Pass in url from cli flag
      
      * Combine all rpc interfaces
      
      * Consistency in log messages
      
      * Expand short arg names
      
      * rustfmt
      
      * Comments and refactoring
      
      * rustfmt
      
      * Pass in secret in from command line
      
      * Change default url to ws
      
      * Add integration test (not passing yet) for deploy command
      
      * Extracted substrate extrinsic RPC to subxt
      
      * Get it working with subxt
      
      * [cli] update to latest subxt
      
      * [cli] convert to new subxt
      
      * [cli] add CheckVersion to SignedExtra type
      
      * Use latest version of subxt with dynamic events
      
      * [cli] cargo fmt
      
      * [cli] deploy: remove dependency on node-runtime!
      
      * [cli] use assert_matches in test
      
      * [cli] reuse crate metadata fn from build command to get wasm path
      
      * [cli] add comments
      
      * [cli] remove unused dependencies
      
      * [cli] remove more unused dependencies
      
      * [cli] Use static method
      
      * [cli] doc comments
      
      * [cli] rename surl -> suri
      
      * [cli] move Runtime defintion to subxt, reduce direct substrate deps
      
      * [cli] rustfmt
      552ac252
  34. Sep 25, 2019
    • Sergey Pepyakin's avatar
      Implement the build command (#192) · a855ff4c
      Sergey Pepyakin authored
      * [cli] Implement the build command
      
      * [cli] Remove all build.sh scripts
      
      * [cli] Restore build-all.sh
      
      * Fix the test.
      
      * Strip custom sections
      
      * Add some testing.
      
      * Strip name and reloc sections as well
      a855ff4c