1. Nov 13, 2019
  2. 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
    • Hero Bird's avatar
      [cli] fix bugs in the template (#224) · 43d7d216
      Hero Bird authored
      43d7d216
    • Hero Bird's avatar
      Implementation of ink! syntax 2.0 (#191) · b4de2e62
      Hero Bird authored
      
      
      * [lang2] initial commit of ink! lang2 frontend
      
      This is going to be the frontend for the new ink! syntax.
      
      * [lang2] change version syntax to semantic versioning string
      
      * [lang2] add failure test for invalid semantic version string
      
      * [lang2] fix some unused warnings
      
      * [lang2] change lib name to ink_lang2
      
      * [lang2] add span to ir::data::ItemStorage
      
      * [lang2] modernize env types codegen
      
      * [lang2] re-introduce entry points codegen but without body for now
      
      * [lang2] add initial storage struct codegen
      
      * [lang2] add lang2 flipper contract example for testing purposes
      
      * [core] impl env2::EnvTypes for DefaultSrmlTypes instead of old env::EnvTypes
      
      * [lang2] add `0` body to entry points
      
      * [lang2] mark fn allocate_using impl for storage struct as unsafe
      
      * [lagn2] ignore args in Initialize::initialize impl for storage struct
      
      * [lang2] adjust compiletests
      
      * [core] add emit_event to EnvAccess{Mut}
      
      * [lang2] add codegen for contract functions
      
      * [lang2] add Signature::inputs
      
      * [lang2] adjust and modernize compiletests
      
      * [lang2] apply rustfmt
      
      * [core] add generic Encode param to EmitEventParams
      
      * [cli] bump version 0.1.1 -> 0.1.2
      
      * [core] make it possible to use EnvAccess{Mut} directly in storage
      
      * [core] make Selector::{from_bytes, to_bytes} const fn
      
      * [core] add check to Decode impl for CallData
      
      * [core] add #[inline..] annotations to some public trait impls
      
      * [lang2] move lang2 into lang2_macro and create new lang2 helper crate
      
      * [examples] add initial core/flipper example that acts as codegen prototype
      
      * [core] add some more #[inline..] annotations
      
      * [lang2] split DerefEnv into AccessEnv{Mut} and losen direct trait bounds
      
      * [core] add efficient conversion from DynEnv<EnvAccessMut> to DynEnv<EnvAccess>
      
      * [examples] adjust core::Flipper prototype to newest state
      
      * [core] add env accessors to DynEnv
      
      * [lang2] add AccessEnv{Mut} impls for DynEnv and EnvAccess{Mut}
      
      * [lang2] use double AccessEnv trait indirection in dispatch fns
      
      * [examples] core::flipper: add ink-dyn-alloc crate feature
      
      Enable this to enable dynamic storage allocation for your contract.
      Dynamic storage allocation is an optional drop-in feature.
      
      * [lang2] make LICENSE and README.md sym links
      
      * [lang2-macro] replace LICENSE and README.md with sym links
      
      * [lang2] add access_env sub module
      
      * [lang2] simplify Message trait concept for constructors
      
      * [lang2] add more general error codes
      
      * [lang2] add storage sub module
      
      * [lang2] remove old dispatch sub module
      
      * [lang2] implement new dispatcher based on ink_model v2
      
      * [examples] adjust core flipper example for new codegen
      
      * [lang2] remove some commented out code
      
      * [lang2] rename dispatch2 to dispatch_using_mode
      
      * [lang2] fix doc link in DispatchMode docs
      
      * [examples] adjust core::Flipper to better reflect codegen prototype
      
      * [lang2] rename ContractDispatch to DispatchUsingMode and add docs
      
      * [lang2] remove unused ContractInstance trait
      
      * [lang2] remove unneeded Msg and Constr utility types
      
      Those types should solely be provided by the contracts themselves.
      They act as namespaces for the respective message type.
      
      * [lang2/macro] add GenerateCodeUsing trait
      
      * [example] add explanation docs to the Flipper::get(&mut self) method
      
      * [lang2] fix unused warning
      
      * [lang2/macro] refactor codegen module
      
      * [lang2/macro] remove commented-out code
      
      * [core] add EnvAccess to allow universal usage of EnvAccess
      
      * [lang2] no longer require separate storage structs
      
      * [examples] adjust core/Flipper to newest ink_lang2 and ink_core changes
      
      * [examples] remove as much direct Flipper usages as possible
      
      * [lang2/macro] temporarily disable dispatch codegen
      
      * [lang2/macro] add MetaInfo::is_dynamic_allocation_enabled stub
      
      * [lang2/macro] implement initial storage codegen
      
      * [core] remove DynEnvAccess and DynEnvAccessMut
      
      No longer needed!
      
      * [core] implement AccessEnv for &'a {mut} DynEnv<EnvAccess{Mut}>
      
      * [examples] fix implementation of ink_lang2::AccesEnv for StorageAndEnv
      
      * [examples] fix ink_core::env2::AccessEnv impl for StorageAndEnv
      
      * [examples] move deploy and call fns into dispatch const block
      
      * [examples] convert docs to comments because they screw up cargo expand
      
      * [lang2/macro] remove ink_model dependency
      
      * [lang2] fix some minor warnings and issues
      
      * [lang2/macro] fix codegen of ink_core::env2::AccessEnv impls
      
      * [lang2/macro] refactor and improve FunctionSelector implementation
      
      * [lang2/macro] Signature::inputs now returns an iterator over IdentType
      
      Was returning an iterator over FnArg before but conversion is trivial.
      
      * [lang2/macro] add dispatch codegen
      
      * [examples] fix DefaultSrmlTypes usage in lang2/Flipper
      
      * [core] prepare env2 to be used with ABI generation purposes
      
      * [examples] add ABI generation to core/Flipper
      
      This will serve as a prototype for ink_lang2 codegen.
      
      * [core, model] remove unneeded warnings/lints
      
      * [lang2] make calls to AccessEnv and Flush more explicit
      
      * [lang2/macro] no longer use no-default-features for dev-dependencies
      
      * [lang2/macro] surpress warnings of unused imports for core::env2::AccessEnv
      
      * [lang2/macro] fix codegen of {ink_lang2/core::env2}::AccessEnv impls
      
      * [lang2/macro] remove unused let binding (was commented out anyways)
      
      * [lang2/macro] fix several codegen bugs
      
      * [examples] remove ink_model and ink_lang dependencies of lang2/Flipper
      
      * [examples] add contract and layout bindings type annotation
      
      * [lang2/macro] adjust some passing tests
      
      * [lang2] add GenerateAbi trait guarded by ink-generate-abi crate feature
      
      * [lang2/macro] move scale dependency away from ink dependencies in Cargo.toml
      
      * [lang2/macro] add Metadata and HasLayout derives to storage structs
      
      * [lang2/macro] insert minor whitespace between bindings and quote
      
      * [lang2/macro] add abi module to generate ABI generating code
      
      * [lang2/macro] add Function::{filter_constructor, filter_message}
      
      * [lang2/macro] fix bug that non-ink! filter for attributes was off
      
      * [lang2/macro] make use of iterative array quoting in Dispatch codegen
      
      * [lang2/macro] add utility to filter doc attributes and parse them to readable string
      
      * [lang2/macro] add codegen for ABI generation
      
      * [example] adjust lang2/Flipper abi-gen package
      
      * [lang2/macro] ink::contract params adjustments
      
      - make `env` param default to ink_core::env2::DefaultSrmlTypes
      - add `dynamic_allocations = {true|false}`, default: false
      - add `compile_as_dependency = {true|false}`, default: false
      
      * [lang2/macro] adjust passing tests to new contract params
      
      * [examples] adjust lang2/Flipper to new contract params
      
      We enable dynamic_allocations for now since disabling it causes other errors.
      
      * [lang2/macro] add different HasLayout impl for dynamic_allocations {true|false}
      
      * [examples] lang2/Flipper no longer requires dynamic_allocations = true
      
      * [lang2] rename AccessEnv::env to AccessEnv::access_env
      
      This helps to disambiguate certain other `env` methods and trait impls
      
      * [examples] adjust core/Flipper example
      
      * [core] refactor event emitting interfaces in env2
      
      * [examples] core/Flipper: fix env types aliases
      
      * [examples] core/Flipper: adjust to new event emitting
      
      Also:
      - messages and constructors no longer can access private fields from StorageAndEnv
      - rename __ink_storage to __ink_private
      - add __ink_events module in __ink_private defining all events and utilities
      - general rust formatting
      
      * [core] add EmitEvent utility trait
      
      This allow to disambiguate the contract's provided EmitEvent trait
      
      * [examples] core/Flipper: make it impossible to ambiguate emitting of events
      
      * [lang2/macro] rename contract_module.rs to contract.rs
      
      * [lang2/macro] generated messages and constructors can no longer access internals of StorageAndEnv
      
      * [lang2/macro] apply rustfmt
      
      * [lang2/macro] add event codegen
      
      - ABI generation codegen for events is still missing
      
      * [lang2/macro] adjust some pass UI tests to new event codegen
      
      * [lang2/macro] re-export the contract on crate root again
      
      This is done for ABI creation since otherwise the abi-gen tool couldn't access the data.
      
      * [lang2/macro] add ABI generation for events
      
      * [lang2/macro] add Erc721 UI pass test
      
      * [lang2/macro] add missing codegen for ABI event args docs
      
      * [lang2/macro] fix a bug that ABI codegen would always impl GenerateAbi for Flipper
      
      * [lang2/macro] add derive(Metadata) to Error enum for Erc721 test
      
      * [core] add missing Initialize::default_value impls
      
      * [core] add Debug impls for some env types
      
      * [examples] core/Flipper: add code to allow for offchain testability
      
      * [examples] core/Flipper: add error handling for test env init
      
      * [lang2/macro] add docs to ABI generation of event args
      
      * [examples] core/Flipper: adjust to improve testability
      
      - No longer requires <Flipper as Testable>::constructor
      - packs whole of flipper contract in associated flipper module such as what ink_lang2 does
      
      * [lang2/macro] add filter_ink_attributes and has_ink_attributes to utilities
      
      * [lang2/macro] re-export utils from ir
      
      * [lang2/macro] add ir::utils::is_ink_attribute
      
      * [lang2/macro] allow non-ink! items in the contract module
      
      * [lang2/macro] add test for non-ink! module items
      
      * [lang2/macro] apply rustfmt on UI tests
      
      * [lang2/macro] fix 02 ui fail test
      
      * [lang2/macro] generate code for non-ink! module items
      
      * [lang2/macro] move utilities inside the contract module - because we can!!
      
      * [lang2/macro] adjust compile tests for most recent changes
      
      * [lang2/macro] add compile test for missing messages
      
      * [lang2/macro] fix some minor warnings
      
      * [lang2/macro] add a lint to check if all identifiers respect not starting with __ink
      
      * [lang2/macro] add simple test for __ink starting identifiers lint
      
      * [lang2/macro] update docs of idents_respect_pred
      
      * [lang2] apply rustfmt
      
      * [core] apply rustfmt to env2 module
      
      * [lang2/macro] add ir::utils::filter_non_ink_attributes
      
      * [lang2/macro] make use or ir::utils::filter_non_ink_attributes
      
      * [lang2/macro] re-export contract on crate root only for ABI generation
      
      * [lang2/macro] documented code generation principles
      
      * [examples] add Erc20 token example for lang2
      
      * [lang2/macro] refactor event codegen
      
      * [lang2/macro] move dispatch codegen into __ink_private
      
      This hides `Msg` and `Constr` namespaces into __ink_private.
      
      * [lang2/macro] move ABI generation codegen into __ink_private
      
      * [lang2/macro] add test to forbig accessing generated storage fields
      
      * [lang2/macro] extend test to forbig accessing generated storage fields
      
      * [lang2] implement testable contracts codegen
      
      * [lang2/macro] do not generate dispatch code for tests or if `test-env` is enabled
      
      * [examples] lang2/Flipper: add contract tests
      
      * [lang2/macro] add simple tests to flipper test
      
      * [examples] remove core/Flipper example again
      
      This was decided after we felt that maintaining it was more of a burden than it being a help for further development.
      
      * [lang2/macro] apply rustfmt
      
      * [core] refactor env2 cross-calling infrastructure
      
      * [core] move seals into utils
      
      * [examples] lang2/Flipper: add default_works test
      
      * [lang2/macro] add cross-contract calling
      
      * [lang2/macro] add cross-contract calling test
      
      * [lang2] remove CreateForwarder infrastructure since unneeded
      
      * [lang2/macro] do not generate code for Events when compiled as dependency
      
      * [lang2/macro] remove strange semi-comments in Msg and Constr
      
      * [lang2/macro] add Debug derive to StorageAsDependency
      
      * [examples] add Delegator contract based on ink_lang2
      
      * [core] guard calling CreateBuilder::using_code at compile-time
      
      * [lang2] fix some clippy warnings
      
      * [chores] update README
      
      * [lang2/macro] refactor into_hir: use ir types through ir module
      
      * fix typo
      
      Co-Authored-By: default avatarMichael Müller <[email protected]>
      
      * fix typo in lang2/macro/src/ir/into_hir.rs
      
      Co-Authored-By: default avatarMichael Müller <[email protected]>
      
      * fix typo in examples/lang2/delegator/adder/lib.rs
      
      Co-Authored-By: default avatarMichael Müller <[email protected]>
      
      * fix typo in lang2/macro/src/codegen/cross_calling.rs
      
      Co-Authored-By: default avatarMichael Müller <[email protected]>
      
      * fix typo in core/src/env2/traits.rs
      
      Co-Authored-By: default avatarMichael Müller <[email protected]>
      
      * fix typo in lang2/macro/src/codegen/contract.rs
      
      Co-Authored-By: default avatarMichael Müller <[email protected]>
      
      * [lang2/macro] improve some ink! error messages
      
      * [lang2/macro] remove commented-out code
      
      * fix typo in lang2/macro/src/codegen/dispatch.rs
      
      Co-Authored-By: default avatarMichael Müller <[email protected]>
      
      * [lang2/macro] remove ancient Cargo.toml artifacts
      
      * [examples] fix typo and enhance delegator docs a bit
      
      * use `#!/usr/bin/env` instead of `#!/bin/bash`
      
      Co-Authored-By: default avatarMichael Müller <[email protected]>
      
      * [lang2] apply rustfmt
      
      * [core] env2: apply rustfmt
      
      * [cli] adjust CLI to generate ink_lang2 contract upon new command
      
      * [lang2/macro] generate some #[inline] annotations on some generated cross-calling interfaces
      
      * [examples] improve Delegator example slightly
      
      * [core] fix bug that SrmlEnv tried to impl traits for TestEnv
      
      * [examples] fix bug that .ink/abi_gen was using incorrect crate features
      
      * [cli,examples] fix all abi_gen/Cargo.toml files
      
      * [examples] fix bugs in some examples
      
      * [lang2/macro] suppress some unused_parens warnings
      
      * [examples] add incrementer as lang2 example
      
      * [lang2/macro] make codegen more precise when using traits
      
      * [lang2/macro] "fix" a bug in cross-calling codegen
      
      The fix is actually a hack that we should remove again as soon as possible by a proper solution.
      
      * [core] rename ext_create to ext_instantiate
      
      * [examples] lang2/Delegator: fix some warnings and added Delegator::get
      
      * [examples] lang2/Erc20: add Erc20::allowance
      
      * [core] fix bug in executing ext::scratch_read causing panic
      
      * [core] remove unused println statements in tests
      
      * [examples] delegator: minor improvements
      b4de2e62
  3. Oct 25, 2019
  4. 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
  5. Oct 15, 2019
  6. 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
  7. 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
  8. Sep 16, 2019
  9. Aug 30, 2019
    • Hero Bird's avatar
      Add call infrastructure to ink_lang (#175) · a99d34e2
      Hero Bird authored
      * [core] add initial call builder implementation
      
      * [core] add setters to CallBuilder
      
      * [core] fix invalid mod import in no_std
      
      * [lang] initial remote call implementation for ink_lang
      
      * [examples] add ink-as-dependency crate feature to erc20 token contract
      
      * [core] move calls and call error definitions
      
      * [core] add ext_create support
      
      * [*] apply rustfmt
      
      * [core] expose ReturnType publicly
      
      * [core] add ext_create impl on the SRML interfacing side
      
      * [core] fix minor invalid module import
      
      * [lang] split CallEnhancer into mut and immutable versions
      
      * [lang] forward to call enhancers from short-version of remote calling
      
      * [core] improve create builder to return the contract directly
      
      * [lang] simplify env types code generation
      
      * [lang] add create call builder code generation
      
      * [lang] improve code gen by altering spans of the generated code
      
      * [examples] add ink-as-dependency to all lang examples
      
      * [cli] add ink-as-dependency to smart contract template
      
      * [lang] fix code gen bug with forwarding references
      
      * [lamg] move impls out of const item
      
      It seems that inherent impls shouldn't be put inside a const item.
      
      * [core] impl Default for Hash
      
      * [lang] add Flush, scale::{Encode, Decode} for contracts as dependencies
      
      * [examples] add example to call remote smart contracts
      
      * [examples] remove invalid test code from delegator contract
      
      * [abi] fix warning about suffixed tuple indices
      
      * [lang] fix bug in generate-abi codegen for deploy handler with multiple args
      
      * [lang] derive from type_metadata::Metadata for contract structs
      
      * [examples] ran cargo fmt
      
      * [examples] derive type_metadata::Metadata for Which
      
      * [examples] make code hashes deploy inputs for delegator contract
      
      * [core] rename gas_cost to gas_limit
      
      * [core] remove parts that got re-introduced accidentally upon merge
      
      * [examples] add a README to the delegator contract
      
      * [examples] restructure delegator project structure
      
      * [examples] fix Cargo.toml of delegator
      
      * [lang] fix bug that ink-as-dependency derives Metadata for the state struct
      
      * [lang] add getter for account_id of ink-as-dependency state structs
      
      * [examples] adjust Delegator contract to make it work with old ABI generator
      
      * [lang] import FromAccountId
      
      * [examples] provide a build.sh script to deploy delegator contract
      
      * [readme] add section about wabt and wasm-utils tools
      
      * [readme] add off-chain test for the example smart contract
      
      * [examples] add .value call to contract create calls of delegator
      
      * [*] use fix-serialization branch of type-metadata
      
      * [*] use type-metadata master branch again (PR was merged)
      
      * [lang] update the noop compile test
      
      * [lang] simplified the noop compile test doc comments
      
      * [lang] fix compiletest for Flipper contract
      
      * [lang] fix compile tests for incrementer contract
      
      * [lang] fix compile tests for Events contract
      
      * [scripts] do not check the Delegator for now (needs special treatment)
      
      * [ci] update rust version from nightly-2019-08-13 to nightly-2019-08-30
      
      * [examples] restructure delegator contract project structure
      
      * [scripts] make check-examples script simpler again after delegator refactoring
      
      * [examples] clean up Delegator contract
      
      * [examples] improve build guidance of Delegator contract
      a99d34e2
  10. Aug 19, 2019
    • Hero Bird's avatar
      Reintroduce old ABI format generation (#174) · 84aca831
      Hero Bird authored
      * [lang] reintroduce the old ABI generation
      
      We keep this in ink! until the new ABI format support is stable enough.
      
      * [examples] update examples to be able to use the old ABI generation
      
      * [cli] update template for old ABI generation
      84aca831
  11. Aug 14, 2019
    • Hero Bird's avatar
      ink! abi followup (#168) · fba5350e
      Hero Bird authored
      
      
      * [examples] remove unneeded dependencies
      
      * [cli] template: remove unneeded dependencies
      
      * [*] make test-env a default feature
      
      * [core] no longer export impl_empty_flush_for macro
      
      * [scripts] add usage docs to check-workspace
      
      * [readme] add section about scripts
      
      * [core] add lib.rs docs
      
      * [core] simple Cargo.toml formatting
      
      * [ci] use latest nightly-2019-08-13
      
      * [ci] upload kcov results after workspace checks
      
      * [scripts] fix the banner not being printed
      
      * Update README.md
      
      Co-Authored-By: default avatarAndrew Jones <[email protected]>
      
      * Update core/src/lib.rs
      
      Co-Authored-By: default avatarAndrew Jones <[email protected]>
      fba5350e
    • Hero Bird's avatar
      ink! ABI (#104) · 10ed775d
      Hero Bird authored
      
      
      * [abi] Create ink_abi sub crate
      
      * [abi] Add initial types for abi generation
      
      * [abi] Add EventParamSpec to include indexed event params
      
      * [abi] Add documentation field to specs
      
      * [abi] Add license and readme links and clean up authors
      
      * [abi] Add missing license headers
      
      * [abi] Fix some compile errors
      
      * [abi] Make macros usable internally
      
      * [abi] Create type_spec_of_tuple constructor macro
      
      * [abi] Implement serialization for tuples
      
      * [abi] Implement serialize for array types
      
      * [abi] Remove module prefix of Vec<T>
      
      * [abi] Apply rustfmt
      
      * [abi] Improve minor formatting
      
      * [abi] Add trait to allow external crate to specify serialize of TypeSpec<T>
      
      * [abi] Make rustfmt happy
      
      * [abi] Handle missing Vec in no_std environment
      
      We really need a further abstraction to handle memory types.
      Right now they life in ink_core but we shouldn't depend on ink_core from within ink_abi.
      So we want to extract the memory sub module out of ink_core into its own crate that we can from then on depend on.
      
      * [abi] Use same array pre-impls as metadata prototype impl
      
      * [abi] Depend on cennznet/type-metadata + adjustments
      
      * [abi] add missing license headers
      
      * [abi] fixes for renamings in type-metadata crate
      
      * [abi] add IntoCompact impls for layout types
      
      * [abi] properly forward std feature
      
      * [abi] implement Serialize for Key
      
      * [abi] apply rustfmt and add some layout constructors
      
      This also removes the dependency from ink_abi to ink_core and adds derive feature to type-metadata dependency.
      
      * [core] implement ink_abi traits for ink_core abstractions
      
      * adjust ink_abi Cargo.toml to using std feature by default
      
      # Conflicts:
      #	abi/Cargo.toml
      
      * [core] Integrate ink_abi no_std compat into ink_core
      
      * [lang] initial skeleton of codegen for ink_abi
      
      * Enhance Flush (#136)
      
      * [core] Enhance Flush trait to make it work with SyncCell and SyncChunk
      
      * apply rustfmt
      
      * [core] implement ink_abi traits for ink_core abstractions
      
      * [core] Integrate ink_abi no_std compat into ink_core
      
      * [core] Apply cargo fmt
      
      * [cli] initial adjustments for ink_abi to ink! template
      
      * [abi] clean-up of Cargo.toml
      
      * [abi] remove invalid lib docs
      
      * [utils] Update utilities docs
      
      * [abi] improve JSON encoding of layout structs
      
      * [abi] improve JSON encoding and add builder pattern constructors
      
      * [abi] Add InkProject meta type
      
      * [abi] temporarily depend on improve-json-output type-metadata branch
      
      * [core] adjust type-metadata temporary branch to use the same as ink_abi
      
      * [ci] add travis CI nightly-2019-08-01 channel (experimental)
      
      * [abi] add MessageSpecBuilder::{args, docs} methods
      
      * [core] implement Metadata for AccountId and Hash of DefaultSrmlTypes
      
      * [abi] change type of selector from u64 to u32
      
      * [lang] add some helper routines
      
      * [lang] add code generation for new ABI format
      
      * [abi,core] use master branch for type-metadata again
      
      * [lang] implement initial code gen for ABI generation
      
      * [examples] adjust Flipper contract example to ink_abi generation
      
      * [lang] remove old generate-abi-description feature and associated code
      
      * [examples] remove traces of removed generate-api-description feature
      
      * [core] make cells_origin and chunks_origin only visible for test-env
      
      * [cli] adjust template for ink-abi update
      
      * [abi] implement ink_abi_derive for HasLayout derive macro
      
      * [lang] make use of new ink_abi_derive functionality
      
      * [examples] adjust Flipper for new ink_abi derive crate feature
      
      This is needed because we disable default features.
      
      * [abi] remove some commented-out code
      
      * [chores] update README and include ink_abi docs
      
      * [abi] apply rustfmt
      
      * [lang] apply rustfmt
      
      * [abi] apply rustfmt to non derive crate
      
      * [core] apply rustfmt
      
      * [lang] trim doc strings coming from syn::Attribute
      
      * [examples] rename .tools directory to .ink
      
      * [examples] fix bug with no_std and "std" crate feature
      
      * [lang] fix bug in abi generation for events
      
      * [examples] adjust events example to new ink_abi
      
      * [lang] fix some more edge cases with doc string trimming
      
      * [lang] fix a bug that path matching for function arguments was off
      
      * [examples] adjust Incrementer to new ink_abi
      
      * [cli] rename .tools to .ink in template
      
      * [cli] update template Cargo.toml
      
      * [examples] temporarily fix type-metadata hick-up
      
      * [examples] make ink_abi optional
      
      * [examples] adjust Erc20 token example to new ink_abi
      
      * [cli] fix template no_std support
      
      * [*] use master branch of type-metadata crate again
      
      * [examples] replace parity-codec/std with scale/std
      
      * [core] derive Metadata for some util types
      
      This unfortunately was lost upon the latest rebase.
      
      * [ci] update from nightly-2019-08-01/2019-07-19 to just nightly-2019-08-09
      
      * [abi] remove commented-out code
      
      * [abi] add some docs to specs items
      
      * Update abi/src/specs.rs
      
      Co-Authored-By: default avatarAndrew Jones <[email protected]>
      
      * Update abi/src/specs.rs
      
      Co-Authored-By: default avatarAndrew Jones <[email protected]>
      
      * Update core/src/storage/collections/stash/impls.rs
      
      Co-Authored-By: default avatarAndrew Jones <[email protected]>
      
      * Update core/src/storage/collections/stash/impls.rs
      
      Co-Authored-By: default avatarAndrew Jones <[email protected]>
      
      * [examples] remove some more commented-out code
      
      * [lang] remove outdated docs
      
      * [lang] extract fn docs impl into helper method
      
      * [lang] fix compile-error in `filter_doc_attributes`
      
      * [core] use derive feature from ink_abi
      
      * [examples] adjust shared_vec example for ink_abi
      
      * [lang] trim doc comments raw string escape sequence
      
      * [lang] adjust noop test for ink_abi
      
      * [lang] adjust flipper test for ink_abi
      
      * [lang] improve raw-string char sequence fix
      
      * [lang] adjust incrementer test for ink_abi
      
      * [lang] adjust events test for ink_abi
      
      * [lang] fix whitespace (tabs) issues in lang tests
      
      * [ci] add examples to CI
      
      * [ci] remove +nightly attribute for examples
      
      * [abi] remove instances of std usage
      
      * [core] remove instances of std usage
      
      * [examples] erc20: remove std usage in no_std environment
      
      * [core] factor out ink_abi and type-metadata and guard their use with ink-generate-abi feature
      
      * [examples] adjust examples to newest refactoring in ink_core
      
      * [cli] adjust template to ink_core refactorings
      
      * [scripts] add new script to quickly check all example smart contracts
      
      * [ci] make use of new check-examples script
      
      * [*] apply rustfmt
      
      * [scripts] adjust check-examples to no longer set test-env
      
      * [scripts] Add check-workspace script
      
      * [examples] make test-env a default feature
      
      * [cli] make test-env a default feature for the template
      
      * [ci] update CI to use the new check-workspace script
      10ed775d
  12. Aug 09, 2019
    • Andrew Jones's avatar
      [*] parity-codec -> parity-scale-codec (#164) · 2582c6ff
      Andrew Jones authored
      * [*] parity-codec -> parity-scale-codec
      
      * [core, model] Decode impls Option -> Result
      
      * [core] typed_cell load expect successful Decode
      
      * [core] Option to Result, remove redundant combinator
      
      * [model] Option to Result
      
      * [*] abbreviate parity-scale-codec
      
      * [core] fix dummy Call Decode impl
      2582c6ff
  13. Jul 31, 2019
  14. Jul 30, 2019
  15. Jul 29, 2019
    • Hero Bird's avatar
      Make CI happy again (#149) · fb838438
      Hero Bird authored
      * Adjust rustfmt.toml to newest rustfmt 1.3.3
      
      * fix some minor warnings
      
      * apply rustfmt
      
      * fix formatting (make CI happy)
      fb838438
  16. Jul 25, 2019
  17. Jul 24, 2019
    • Hero Bird's avatar
      Remove all rust-toolchain files (#148) · c7a8ca95
      Hero Bird authored
      c7a8ca95
    • Hero Bird's avatar
      Enhance Flush (#136) · 73ca4626
      Hero Bird authored
      * [core] Enhance Flush trait to make it work with SyncCell and SyncChunk
      
      * apply rustfmt
      73ca4626
    • Hero Bird's avatar
      Make std crate feature default for all ink crates (#146) · 47bc80d0
      Hero Bird authored
      * make std crate feature default for all ink crates
      
      * adjust travis CI for builds without std feature enabled
      
      * remove incorrect usages of ink_abi
      
      * apply rustfmt
      
      * remove invalid type-metadata dependencies for ink_core
      
      * [lang] fix Cargo.toml indentations
      
      * adjust Erc20 token examples for new std crate feature
      
      * adjust template and lang example std feature and propagation
      47bc80d0
  18. Jun 25, 2019
  19. Jun 24, 2019
    • Andrew Jones's avatar
      Contract Runtime Types (#108) · 451de7a0
      Andrew Jones authored
      * [model] Make EnvHandler generic over Env
      
      * [core] Remove api env functions
      
      * [core] Remove default srml types, separate EnvStorage trait
      
      * [core] Remove TryFrom bounds
      
      * [core, examples] Convert incrementer to use NodeRuntime types
      
      * [examples] Ignore duplicate wasm runtime lang items
      
      * [examples] Tidy up incrementer example
      
      * [core] Add Hash constraint for AccountId
      
      * [examples] Convert model ERC20 example
      
      * [lang, examples] Generate env type aliases, convert ERC20 example
      
      * [types] Add pre-baked node-runtime types lib
      
      * [examples] Convert core/incrementer to use node-runtime-types
      
      * [examples] Convert lang/erc20 to use node-runtime-types
      
      * [examples] Convert model/erc20 to use node-runtime-types
      
      * [types, examples] Rename node-runtime to node_runtime
      
      * [types] Add default contract environment types
      
      * [types] Rename type crates
      
      * [types, core] Move default types back to core
      
      * [examples] Convert flipper example to use default types
      
      * [core] Fix up test_env
      
      * [core] Fix syn Errors after merge
      
      * [core] Temporarily suppress unused errors in test_env
      
      * [tests] Fix up test compilation
      
      * [tests] Remove unused test code overrides
      
      * [core] Make SrmlEnvStorage enum
      
      * [core] Fix empty enum
      
      * Use Debug impl of AccountId
      
      * [model] Remove stray license template line
      
      * [lang] Replace Env type alias with explicit type
      
      * [core, tests] Store raw bytes in TestEnv data
      
      * [model] Fix tests
      
      * [examples] Add missing env import
      
      * [core] Remove Hash + Copy constraints
      
      * [core] Replace unwrap with expect
      
      * [core] Remove unused import
      
      * [lang] Fix missing Env type param for test-env
      
      * [examples] Construct AccountId in tests by decoding bytes
      
      * [examples] set_caller helper function
      
      * [core, examples] Extract TestEnv events, no type param required
      
      * [core, examples] Restore `r#return` api call
      
      * [examples] Use from impl for AccountId
      
      * [core. lang] Encode concrete env type in contract
      
      * [lang] Fix lang failure tests
      
      * [examples] Fix lang incrementer example
      
      * [lang] Fix up events test
      
      * [lang] Increase recursion limit for lang test
      
      * [lang] Encapsulate env types in module and use alias for ContractEnv
      
      * [lang] Fix remaining lang tests
      
      * [examples] Move node runtime types to separate repo
      
      * [lang] Make types public and prefix ContractEnv alias
      
      * [lang] Remove ContractEnv alias, inline type
      
      * [fix] Remove types/node_runtime from workspace
      
      * [lang] Use fully qualified ContractEnv, fix lang tests
      
      * [examples] Fix events lang example
      
      * [lang, examples] Convert erc20 example to use new ink-types-node-runtime
      
      * [docs, template, examples] Add missing EnvTypes declaration
      
      * [lang] Add super import to types mod
      
      * [examples] use DefaultSrmlTypes in erc20 example
      
      * [examples] Use ink-types-node-runtime lib
      
      * [examples] Use remote git dependency
      
      * [core] remove unused reexport
      
      * [core] update docs
      
      * [examples] Fix core incrementer example
      
      * [lang] Move 'env' type alias to test module
      
      * Revert "[lang] Move 'env' type alias to test module"
      
      This reverts commit 8f73f37b
      
      * [lang] use Env trait to allow calling methods from type alias
      
      * [lang] Fix lang codegen tests
      
      * [lang] Use inner attr for EnvTypes instead of type alias
      
      * [lang] Add some tests for parsing env types meta attr
      
      * [lang] Pass EnvHandler type to fix compile error after merge
      
      * [core] Add extra trait bounds to EnvTypes
      
      * [core] EnvTypes test-env feature
      
      * [examples] Reference master ink! in anticipation of merge
      
      * [core] Docs and pub(self)
      
      * [examples] Convert to AccountId::from
      
      * [lang] Revert recursion limit
      
      * [core] Make ContractEnv pub again
      
      * [lang] remove env type alias
      
      * [core] restore test env emitted_events method
      
      * [core] missing T
      
      * [core] emitted_events missing type parameter
      
      * [examples] update env usage in erc20
      
      * [examples] update env usage in other lang examples
      
      * [examples] fix up core examples
      
      * [examples] fix up model examples
      
      * [core] fix import
      
      * [core] phantom marker grumble
      
      * [core] comment grumble
      
      * [core] return Iterator from emitted_events
      
      * [lang] remove commented out code
      
      * [core] remove redundant allow_unused
      
      * [examples] use DefaultSrmlTypes for erc20 example
      451de7a0
  20. May 31, 2019
  21. May 29, 2019
  22. May 17, 2019
    • Andrew Jones's avatar
      [cli] contract new template (#90) · 1d32ca78
      Andrew Jones authored
      * WIP: add template
      
      * Zip build file from temp dir
      
      * Unzip in new command
      
      * Unzip files to target dir
      
      * Fix warnings
      
      * Remove unwraps from unzipping
      
      * Refactor build.rs
      
      * rustfmt
      
      * Remove printlns
      
      * Use PathBuf in build.rs
      
      * Replace variables in template files
      
      * Diable zip default features
      
      * rustfmt
      1d32ca78
  23. Apr 24, 2019
  24. Apr 22, 2019
  25. Apr 18, 2019