• 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