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 18, 2021
  4. 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
  5. Feb 03, 2021
  6. Jan 18, 2021
  7. Jan 06, 2021
  8. Dec 14, 2020
  9. 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
  10. Nov 16, 2020
  11. 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
  12. Oct 29, 2020
  13. 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
  14. Jul 09, 2020
  15. Jun 25, 2020
  16. Jun 19, 2020
  17. May 22, 2020
  18. May 13, 2020
  19. Feb 26, 2020
    • 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
  20. Feb 03, 2020
    • Andrew Jones's avatar
      Fix default features build (#26) · e3ba2212
      Andrew Jones authored
      * Check default features build in CI
      
      * Hide extrinsics only stuff behind feature
      
      * Make submit_extrinsic crate public
      
      * Fmt
      
      * Make build run on CI with default features
      e3ba2212
  21. Jan 06, 2020
  22. Dec 18, 2019
    • Andrew Jones's avatar
      Implement instantiate command (#12) · 25df0b82
      Andrew Jones authored
      * Implement instantiate command
      
      * Bump version
      
      * Doc comments
      
      * Fix invalid default gas value
      
      * Default empty constructor data
      
      * Require constructor data
      
      * Hide instantiate behind deploy feature
      
      * Rename deploy feature to extrinsics to include instantiate
      
      * Format code
      
      * Fix deploy test
      
      * Instantiate test
      
      * Update README
      25df0b82
  23. Nov 28, 2019
  24. Nov 26, 2019
  25. 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
  26. Nov 15, 2019
  27. 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
  28. 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
  29. 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
  30. 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
  31. Sep 16, 2019
  32. May 29, 2019
    • Hero Bird's avatar
      Ink cleanup (#101) · 4e13f3f3
      Hero Bird authored
      * [ink] Fix some clippy warnings
      
      * [lang] Major clean ups in preparation of greater refactorings
      4e13f3f3
  33. Apr 22, 2019
  34. Mar 20, 2019