• 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
This project manages its dependencies using Cargo. Learn more