Skip to content
  1. May 17, 2022
  2. May 13, 2022
    • Chevdor's avatar
      Add missing dep (#542) · b673c39b
      Chevdor authored
      * Add missing dep
      
      openssl is required to build cargo-dylint
      
      * Fixed order
      
      * Add --locked
      
      * Cosmetic
      b673c39b
  3. Mar 14, 2022
  4. Feb 24, 2022
  5. Feb 23, 2022
    • Michael Müller's avatar
      Add ink! linting MVP stage (#431) · 836acbff
      Michael Müller authored
      
      
      * Add ink! linting MVP stage
      
      * CI: cache cargo installations; update versions
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarSergejs Kostjucenko <[email protected]>
      
      * Update changelog
      
      * Check if `dylint` requirements are installed
      
      * Make `clippy` happy
      
      * Make tests happy
      
      * Make `LICENSE` symlink
      
      * Make error handling and panic's consistent
      
      * Improve code structure
      
      * Remove unneeded `--workspace`
      
      * Fix `mapping-two-constructor` test file
      
      * Simplify `Option<Vec<_>>` to `Vec`
      
      * Generalize unsetting of env variables in `invoke_cargo`
      
      * Move special case of `dylint` verbosity to call site
      
      * Keep calm and return an `Err`
      
      * Move checking for `dylint-link` to `build.rs`
      
      * Add `ink_linting/Cargo.lock`
      
      * Move `bool_to_exit_code` inline
      
      * Add test for non-fully-qualified path call of `initialize_contract`
      
      * Fix panic when no manifest path was supplied
      
      * Improve structure of `build.rs`
      
      * Make linting error message non-blaming
      
      * Remove incorrect note on not detecting indirections
      
      * Make `clippy` happy
      
      * Impprove text
      
      * Build `ink_linting` with `--locked`
      
      * Fix path separators for Windows CI
      
      * Revert "Fix path separators for Windows CI"
      
      This reverts commit b5998313.
      
      * Revert me: Debug failing Windows CI
      
      * Revert me: Debug failing Windows CI
      
      * Revert me: Debug failing Windows CI
      
      * Revert me: Debug failing Windows CI
      
      * Revert me: Debug failing Windows CI
      
      * Revert me: Debug failing Windows CI
      
      * Revert me: Debug failing Windows CI
      
      * Use `which` for detecting `dylint-link` installation
      
      * Remove `DYLINT_DRIVER_PATH`
      
      * Add `--lib`
      
      * Revert "Remove `DYLINT_DRIVER_PATH`"
      
      This reverts commit d0d209fe
      
      .
      
      * Use temporary `DYLINT_DRIVER_PATH` path during tests
      
      * Give `template` variable a speaking name
      
      Co-authored-by: CI system <>
      Co-authored-by: default avatarSergejs Kostjucenko <[email protected]>
      836acbff
  6. Feb 16, 2022
    • Andrew Jones's avatar
      Interact with contracts: upload, instantiate and call commands (#79) · 4195197c
      Andrew Jones authored
      
      
      * WIP display all events
      
      * Clean up and generalize displaying events
      
      * Fix multiple event new lines
      
      * Fmt
      
      * Create wrapper types for Display, derive Debug for originals
      
      * Control indentation of pretty printing
      
      * Indent events display
      
      * More tuning of runtime events pretty printing
      
      * Fmt
      
      * Use Display impls for printing events
      
      * Add DisplayTransferEvent
      
      * Namespace events
      
      * Add CodeStored and Instantiated events
      
      * Refactor Deploy command and use verbosity for events display
      
      * Fix up string message return
      
      * Code hash LowerHex and println after events
      
      * Use LowerHex api for Bytes
      
      * Parse code hash with 0x prefix
      
      * Fmt
      
      * Spawn canvas node for integration test
      
      * Increment attempts
      
      * Get the test running with spawned canvas node
      
      * Instantiate deploy works with manual node
      
      * Test works locally and cleans up temp dir
      
      * Fmt
      
      * Fix duplicate import
      
      * Build before testing so cargo-contract bin available for testing
      
      * Separate line for build
      
      * Extract decode_hex util fn
      
      * WIP failing Literal tests for SS58 account ids
      
      * Upgrade to nom 0.6
      
      * Use nom error in custom error, impl FromStr
      
      * Fmt
      
      * Update lockfile after merge
      
      * Make TryFrom take reference for verbosity conversion
      
      * Fix parsing literals
      
      * Plumbing for custom encoders
      
      * Implement AccountId32 custom encoder
      
      * Refactor: extract env types
      
      * Test for encoding ss58 literal
      
      * Fmt and add back failing struct test
      
      * Use AccountId type in test
      
      * TEMP: Use github dependencies of scale-info and ink
      
      * Err for 256 bit ints
      
      * Use new registry type enumeration
      
      * Extract type lookup and introduce Encoder
      
      * WIP: extract Transcoder and implement env type decoding
      
      * Implement env type decoding, removes generic Input.
      
      Custom env decoders are trait objects so can't have generic type parameters on its decode method.
      
      * Fix AccountId decoding, add some debug logging
      
      * Test for different AccountId aliasing
      
      * Passing tests for AccountId encoding and fmt
      
      * Update scale-info and ink deps, patch ink deps for now
      
      * Update scale-info and ink deps, patch ink deps for now
      
      * Remove extrinsics feature
      
      * Dependencies
      
      * More deps
      
      * Cargo.lock
      
      * Cargo.lock
      
      * WIP upgrading to latest subxt and scale-info
      
      * More upgrading to latest subxt
      
      * Fix more errors
      
      * Fix up extrinsic commands
      
      * Refactor transcoder decode, handle Compact
      
      * Refactor transcoder encode, initial compact support
      
      * Fmt
      
      * Fix metadata file loading
      
      * Constructor arg rename
      
      * Enable tokio
      
      * Make instantiate work
      
      * Update contracts runtime from substrate-contracts-node
      
      * Fix warnings and add todo
      
      * Update subxt
      
      * Add missing import
      
      * Use explicit substrate branch to match subxt import
      
      * Remove sp_rpc dependency
      
      * Remove sp_rpc dependency
      
      * Use metadata to decode events
      
      * Fmt
      
      * Pretty print events
      
      * WIP custom transcoders for events
      
      * Custom transcoders for events working
      
      * Fix some warnings
      
      * Slim down bat dependency
      
      * Decode contract events
      
      * Use correct field for instantiated contract account
      
      * Fix warnings
      
      * Fix multiple line warning
      
      * Update contracts RPC types
      
      * Fmt
      
      * Fix deploy contract account
      
      * Use ink! master branch
      
      * Oops
      
      * Remove patches
      
      * Bump ink deps to rc6
      
      * Update to latest subxt
      
      * Update to latest subxt
      
      * Fix errors after subxt update
      
      * Fix instantiate_with_code.rs
      
      * Update subxt
      
      * Add deserializing context
      
      * Fmt
      
      * Expose public metadata fields
      
      * Implement full metadata decoding
      
      * Cargo.lock
      
      * Update calls to work with storage_gas_limit from https://github.com/paritytech/substrate/pull/10082
      
      * Cargo.lock
      
      * Update to latest subxt
      
      * Fmt
      
      * WIP unify instantiate command
      
      * Fix call command errors
      
      * Main warning unused result
      
      * Call and instantiate warns and errors and fmt
      
      * Update to ink rc7
      
      * Default to local contract wasm if none specified
      
      * Change instantiate endowment to value
      
      * Use latest subxt branch
      
      * Update to latest subxt
      
      * Unify call and instantiate arg names
      
      * Instantiate and call args consistency
      
      * Add todo comment for encoding message args
      
      * Refactor, tidy up call and instantiate
      
      * Display decoded contract event separately
      
      * Register env types with and without aliases
      
      * Add pretty print flag
      
      * WIP add upload
      
      * Wiring up upload code extrinsic
      
      * Download latest contracts node metadata
      
      * Wire up upload command and WIP manifest path
      
      * in! default features and cargo update
      
      * Add manifest path argument for extrinsics
      
      * Only fetch crate metadata once
      
      * Fmt
      
      * Cargo upgrade
      
      * Update substrate dependencies
      
      * Pretty print code upload dry run values
      
      * Extract name value println macro
      
      * Print code hash from upload extrinsic
      
      * Refactor upload code command
      
      * Pretty print instantiate results
      
      * Add salt arg to instantiate command
      
      * WIP custom events display, removes big bat dep
      
      * Extract method for printing RPC contract result
      
      * Ugly printing of events
      
      * Fix contract event decoding
      
      * Fmt
      
      * Pretty print event fields
      
      * Only print event fields if verbose
      
      * More event prettification
      
      * Fmt
      
      * Resolve some todos
      
      * Remove some code comments, moved to follow ups in PR
      
      * Refactor: extract compact encoding function
      
      * Fix storage_deposit_limit and add todo re: compact primitives
      
      * Add todo re: compact primitives
      
      * Cargo.lock
      
      * Use released substrate crates and subxt master
      
      * Fix encoding compact, inline for each uint
      
      * Fix encoding compact, inline for each uint
      
      * Add extrinsics markdown outline
      
      * Dynamic compact encoding
      
      * Replace bitvec todos with errs, added follow up in PR
      
      * Remove todo about friendly encoding error, add to PR follow ups
      
      * Rename codec to scale for test contract, fix some transcoding tests
      
      * Attempt to fix linking with __ink_generate_metadata
      
      * Update to ink rc8
      
      * Add test for out of order composite fields
      
      * Update ink metadata version
      
      * Update ink metadata types and methods
      
      * Fix metadata error message
      
      * Add std feature to fix test compilation with inline contract
      
      * Fix out of order struct fields
      
      * Improve encoding of field error message
      
      * Fmt imports
      
      * Rename TypeLookupId to TypeLookup
      
      * Remove alias matching for custom env type transcoding
      
      * Fix variant encoding for maps and out of order fields
      
      * Add failing test & impl for compact struct transcoding
      
      * Use released version of pallet-contracts primitives
      
      * WIP attempting to fix compact struct transcoding
      
      * Fix compact struct decoding
      
      * Add todo for integration test
      
      * Renamed SconParseError
      
      * Failing test for invalid integer
      
      * Use nom-supreme for combinators, error handling
      
      * Use released subxt
      
      * Refactor integer parsing
      
      * Refactor char parsing
      
      * Refactor seq parsing
      
      * Refactor tuple parsing
      
      * Refactor unit tuple parsing
      
      * Refactor map parsing
      
      * Refactor bytes parsing
      
      * Remove final nom `map` free function usage
      
      * Use some postfix recognizes
      
      * Remove final recognize combinator
      
      * Use postfix value combinator
      
      * Use opt postfix combinator
      
      * Move entry point and top level parser to the top of the file
      
      * Inline some string parsers
      
      * Inline some local helper functions
      
      * Fix failing integer tests
      
      * Fix Rust ident parsing
      
      * Fix up integration test
      
      * Make clippy happy
      
      * Fmt
      
      * Clippy clippy clippy
      
      * Ignore integration test for CI
      
      * Support parsing underscore separators for integer literals
      
      * + sign prefix parses to signed int
      
      * Allow underscores for balance CLI args
      
      * Add helper function for handling runtime errors
      
      * Add helper function for displaying runtime module errors
      
      * Elide lifetime
      
      * Add some basic module level docs for transcoding
      
      * Improve error message where metadata file not found
      
      * Adding common args section to extrinsics.md
      
      * Move --dry-run to extrinisic opts and more docs
      
      * Move --storage-deposit-limit to ExtrinsicOpts, move ExtrinsicOpts to extrinsics.
      
      * Add instantiate docs
      
      * Add call docs
      
      * Update Extrinsics docs
      
      * Update Cargo.toml
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * Don't wait for finalization before displaying transaction success
      
      * Update docs/extrinsics.md
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      
      * Remove static error detail lookup, since it may be inaccurate if the target chain differs
      
      * CLIPPY
      
      * Print debug message lines
      
      * Display not Debug return value
      
      * Fmt
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      4195197c
  7. Feb 10, 2022
  8. Oct 19, 2021
  9. Sep 09, 2021
  10. Sep 06, 2021
  11. Aug 05, 2021
  12. Jul 03, 2021
  13. Apr 21, 2021
  14. Apr 12, 2021
  15. Apr 06, 2021
  16. Mar 31, 2021
  17. 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
  18. Mar 02, 2021
  19. 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
  20. 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
  21. Dec 07, 2020
  22. 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
  23. Nov 02, 2020
  24. 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
  25. Aug 13, 2020
  26. May 13, 2020
  27. Mar 26, 2020
    • Andrew Jones's avatar
      Release v0.6.0 (#50) · 25b7234b
      Andrew Jones authored
      * Update subxt and bump version
      
      * Update CHANGELOG
      
      * Update README
      
      * Fail build.rs when error, add diagnostics
      
      * Rename template Cargo.toml files so they are not excluded from the package
      
      It appears any dir with a Cargo.toml (not included in the workspace) is excluded from the package.
      
      * Reorder env vars for clarity
      
      * Add mention of crates.io release in CHANGELOG
      
      * Valid category slugs
      v0.6.0
      25b7234b
  28. 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
  29. Jan 09, 2020
  30. 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
  31. Nov 28, 2019
  32. Nov 26, 2019
  33. Nov 25, 2019
  34. Apr 22, 2019