This project is mirrored from https://github.com/paritytech/ink.git. Pull mirroring updated .
  1. 14 Aug, 2019 2 commits
    • Hero Bird's avatar
      ink! abi followup (#168) · 5c5d17df
      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: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      
      * Update core/src/lib.rs
      Co-Authored-By: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      5c5d17df
    • Hero Bird's avatar
      ink! ABI (#104) · fa6b0065
      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: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      
      * Update abi/src/specs.rs
      Co-Authored-By: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      
      * Update core/src/storage/collections/stash/impls.rs
      Co-Authored-By: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      
      * Update core/src/storage/collections/stash/impls.rs
      Co-Authored-By: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      
      * [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
      fa6b0065
  2. 09 Aug, 2019 1 commit
    • Andrew Jones's avatar
      [*] parity-codec -> parity-scale-codec (#164) · 9525f2f5
      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
      9525f2f5
  3. 31 Jul, 2019 1 commit
  4. 30 Jul, 2019 3 commits
    • Hero Bird's avatar
      a5ab8633
    • Andrew Jones's avatar
      Implement `ext_dispatch_call` (#124) · 49f221bd
      Andrew Jones authored
      * [core] Add AccountId to EnvTypes
      
      * [core] Add calls mod, plus WIP tests
      
      * [core] Balance transfer call roundtrip works
      
      * [core] Add ext_dispatch_call
      
      * [core] Implement ext_dispatch_call
      
      * [examples] Add example lang contract for ext_dispatch_call
      
      * [examples] WIP: implement example lang contract for ext_dispatch_call
      
      * [examples] complete basic implementation of dispatching Balances Call
      
      * srml-contracts -> srml-contract
      
      * [core] remove unsafe from dispatch_call api fn
      
      * [core] Add docs to dispatch_call
      
      * [core] Add missing trait bound to account index
      
      * [core] Some todos
      
      * [core] Rename dispatch_call to dispatch_raw_call on Env trait
      
      * [lang] Add AccountIndex type alias
      
      * [model] add strongly type dispatch call to EnvHandler
      
      * [*] specify latest parity-codec version, same as substrate
      
      * [core] fix call roundtrip tests
      
      * [lang] fix tests
      
      * [core] fix wasm build
      
      * [core] fix std build
      
      * [core] move call type serialization tests
      
      * [core] test Call serialization roundtrip
      
      * [core] use node_runtime for Call serialization roundtrip
      
      * [core] remove unused dependencies
      
      * [core] remove unused substrate dependencies
      
      * [core] change default Balance to u128, matching substrate
      
      * [core] introduce Address type for balance calls
      
      * [core] fix Balances transfer serialization test
      
      * [core] add Address serialization tests
      
      * [ci] install wasm-gc for building substrate dev deps
      
      * [ci] move wasm-gc installation after wasm target added
      
      * [examples] get the calls example compiling
      
      * [CI] add temporary check for debugging ci build
      
      * [CI] restore wasm-gc to install section and remove temp version check
      
      * [CI] temporarily depend on substrate branch to test build fix
      
      * [CI] remove temp substrate branch, build issue fixed
      
      * [core] use std feature instead of test-env for EnvTypes
      
      * [core] remove Call types, moved to ink-types-node-runtime
      
      * [core] remove AccountIndex from EnvTypes
      
      * [core] remove AccountIndex from lang codegen
      
      * [core] fix unused for std
      
      * [CI] remove wasm-gc from travis build
      
      * [CI] remove AccountIndex type alias from codegen
      
      * parity-codec version 4.1.1 -> 4.1
      
      * [core] ext_dispatch_call docs
      
      * [core] describe in comment what will happen if decoding fails
      
      * [model] implement suggestion of Into<Call>
      
      * rustfmt
      
      * rustfmt again
      
      * rustfmt again again
      
      * [examples] deleted calls example - moved to ink_types_node_runtime
      
      * [core] use into in api::dispatch_call
      
      * [core] make Call empty enum and use test-env feature for EnvTypes
      
      * [core] remove unused Call enum
      
      * [core] add comments explaining rationale for test-env
      
      * [core] missing period
      
      * [core] add comments
      
      * [core] add space in comment
      
      * [core] add comment to Call decode impl
      
      * [core] make dispatched_calls a DoubleEndedIterator
      
      * [core] add missing doc comment
      
      * [core] add comment explaining Decode requirement
      
      * [core] doc comment and DoubleEndedIterator
      49f221bd
    • flyq's avatar
      update parity-codec'version from 3.3 to 4.1 (#156) · 77c8e452
      flyq authored
      77c8e452
  5. 29 Jul, 2019 3 commits
  6. 25 Jul, 2019 1 commit
  7. 24 Jul, 2019 3 commits
    • Hero Bird's avatar
      Remove all rust-toolchain files (#148) · 7bfc9a0b
      Hero Bird authored
      7bfc9a0b
    • Hero Bird's avatar
      Enhance Flush (#136) · b66ab319
      Hero Bird authored
      * [core] Enhance Flush trait to make it work with SyncCell and SyncChunk
      
      * apply rustfmt
      b66ab319
    • Hero Bird's avatar
      Make std crate feature default for all ink crates (#146) · 7948d23b
      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
      7948d23b
  8. 17 Jul, 2019 2 commits
  9. 14 Jul, 2019 2 commits
  10. 10 Jul, 2019 2 commits
  11. 25 Jun, 2019 2 commits
  12. 24 Jun, 2019 1 commit
    • Andrew Jones's avatar
      Contract Runtime Types (#108) · efe69028
      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
      efe69028
  13. 13 Jun, 2019 2 commits
  14. 11 Jun, 2019 1 commit
  15. 31 May, 2019 1 commit
  16. 29 May, 2019 3 commits
  17. 25 May, 2019 1 commit
  18. 24 May, 2019 1 commit
  19. 23 May, 2019 1 commit
    • Hero Bird's avatar
      Major clean up of ink! codebase (#99) · fa906cad
      Hero Bird authored
      * [ink] Update rust-toolchain from 2019-04-20 to 2019-05-21
      
      * [core,lang] Update & fix Cargo information
      
      * [chores] Update rustfmt version to the current toolchain
      
      * [core] Clean up, fix some warnings
      
      * [core] Remove unneeded dependency
      
      * [core] Ignore return value of Key ops
      
      Fixes a warning
      
      * [core,model] Adjust warning level
      
      * [lang] Minor rustfmt run
      
      * [ink] Add topics to events
      
      For now, ink! will simply leave topics slice empty.
      
      * [core] Add ext_gas_left, ext_gas_price and ext_value_transferred bindings
      
      * [core] Clean up some code by dedup
      
      * [core] Further code clean up
      
      * [core] Simplify SrmlEnv::load impl
      fa906cad
  20. 17 May, 2019 1 commit
    • Andrew Jones's avatar
      [cli] contract new template (#90) · 1748b51a
      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
      1748b51a
  21. 14 May, 2019 1 commit
  22. 10 May, 2019 2 commits
  23. 09 May, 2019 3 commits
    • Hero Bird's avatar
      Support `Vec` and `Result` types in message interfaces (#91) · e637367b
      Hero Bird authored
      * [lang] Implement Vec<T> as message param or return type
      
      * [lang] Apply rustfmt
      
      * [lang] Reorganize Option api.rs tests
      
      * [lang] Add tests for Vec in api.rs
      
      * [lang] Support Result<T,E> type in message interfaces
      e637367b
    • Shawn Tabrizi's avatar
      [examples] Update ERC20 contract to use code from workshop (#76) · 6194dfd6
      Shawn Tabrizi authored
      * [examples] Fix a bug in `transfer_from`
      
      This should fix the known bug, but may have some others in there...
      
      Would rather have a more direct implementation: either simplified or directly copied from a known working sample.
      
      * [examples] Making ERC20 tests even better
      
      * [example] Make `balance_of` getter use `balance_of_or_zero`
      
      * Use the final ERC20 contract from workshop
      
      * [examples] Reduce getters to one line
      
      * [examples] Fix a bug in `transfer_from`
      
      This should fix the known bug, but may have some others in there...
      
      Would rather have a more direct implementation: either simplified or directly copied from a known working sample.
      
      * [examples] Making ERC20 tests even better
      
      * [example] Make `balance_of` getter use `balance_of_or_zero`
      
      * Use the final ERC20 contract from workshop
      
      * [examples] Reduce getters to one line
      
      * [examples] Use new event syntax
      
      * [examples] Run cargo fmt
      6194dfd6
    • Jordan Beauchamp's avatar
      28406bfc