- 13 Jun, 2020 3 commits
-
-
Hero Bird authored
* [core] remove old storage module # Conflicts: # core/src/storage/alloc/bump_alloc.rs # core/src/storage/alloc/dyn_alloc.rs # core/src/storage/cell/sync_cell.rs # core/src/storage/chunk/sync_chunk/chunk.rs # core/src/storage/collections/binary_heap/duplex_sync_chunk.rs # core/src/storage/collections/binary_heap/impls.rs # core/src/storage/collections/bitvec/block.rs # core/src/storage/collections/bitvec/pack.rs # core/src/storage/collections/bitvec/vec.rs # core/src/storage/collections/btree_map/impls.rs # core/src/storage/collections/btree_map/node.rs # core/src/storage/collections/hash_map/impls.rs # core/src/storage/collections/stash/impls.rs # core/src/storage/collections/vec/impls.rs # core/src/storage/value.rs * [abi] remove old layout module # Conflicts: # abi/src/layout.rs # abi/src/lib.rs * [abi] remove abi_derive sub crate # Conflicts: # abi/derive/src/has_layout.rs # abi/derive/src/impl_wrapper.rs # abi/src/lib.rs * [core/derive] remove Flush and AllocateUsing derives + tests * [abi] remove unused function * [abi] remove unused tests and simplify imports
-
Hero Bird authored
* [abi] create new layout trait and structures * [abi] remove unused import * [abi] add missing license header * [abi] fix clippy warning * [primitives] add KeyPtr to ink_primitives * [core] use KeyPtr through ink_primitives and add ExtKeyPtr trait * [abi] use KeyPtr of ink_primitives * [abi] make EnumLayout use StructLayout * [abi] implement custom serde::Serialize for LayoutKey * [abi] implement IntoCompact for layout2 module types * [abi] add doc comment * [abi] apply rustfmt * [abi] add unit test for LayoutKey serialization * [abi] rename ArrayLayout::array -> new * [abi] add dispatch_key field to enum layout * [abi] derive From for all Layout variants * [abi] add unit tests for the new layout traits and data structures * [abi] add experimental CellLayout * [abi] make tests work again for layout2 * [abi] use specialized serializer function for LayoutKey * [abi] refactor UnboundedLayout * [abi] add unit test for UnboundedLayout * [abi] apply rustfmt * [core/derive] slightly refactor code * [abi] simplify enum test * [primitives] derive Debug, Copy and Clone for KeyPtr * [abi] simplify CellLayout::new * [abi] fix calling incorrect constructor for LayoutKey * [abi] move layout2 module file into directory * [core] add StorageLayout trait to storage2 module * [abi_derive, core_derive] remove unnecessary extern crate proc_macro * [core] imply ink-generate-abi feature by std feature * [core] derive Metadata for env types for std feature * [core] add Key, Hash, AccountId and String StorageLayout impls * [core/derive] add initial structure for StorageLayout derive * [core] add StorageLayout impls for some more prelude types * [core] fix Box<T> impl for StorageLayout trait * [core] implement StorageLayout for storage2::{Memory, Pack, LazyArray} * [core] fix StorageLayout impl for LazyArray * [core] implement StorageLayout for LazyIndexMap * [abi] add HashLayout * [abi] rewrite UnboundedLayout test to HashLayout test * [abi] remove unbounded layout * [abi, core] apply rustfmt * [core] add initial skeleton for StorageLayout tests * [core] add StorageLayout impls for Lazy, LazyCell and LazyHashMap * [core] add StorageLayout impls for Option and Result * [core] add LayoutCryptoHasher trait * [core] fix StorageLayout impl for LazyHashMap * [core] apply rustfmt * [core] add StorageLayout impl for storage2::Vec * [core] add StorageLayout for storage2::SmallVec * [core] implement StorageLayout for storage2::Stash * [core] implement StorageLayout for storage BitStash, Bitvec and HashMap * [core] improve StorageLayout impl for storage2::Vec * [core] apply rustfmt * [abi] fix clippy warning * [core] add StorageLayout impl for storage2::alloc::Box * [core] add StorageLayout impl for DynamicAllocator * [core/derive] impl StorageLayout derive for struct items * [core/derive] make StorageLayout derive work for enum items * [core/derive] fix expansion for nested enums * [core/derive] fix a bug with nested enums * [core/derive] add unit test for MixedEnum * [core/derive] apply rustfmt * [lang] add revision 2 module * [core] remove generic T: EnvTypes param from Dispatch trait * [lang] remove unnecessary import * [lang] remove unnecessary generic parameter * [lang/macro] generate codegen for the new v2 traits * [core] re-export SpreadLayout and PackedLayout macros from within ink_core * [lang] further adjustments to make ink_lang_macro work with storage2 * [lang, core] apply rustfmt * [lang] fix clippy warning * [lang] fix some bugs with constructors without inputs * [examples] adjust the Flipper example contract for the changes * [lang] remove codegen for testing ink! contracts No longer needed. * [lang] remove test-env crate feature * [lang] minor improvements to EnvAccess utility type * [examples] remove unused import for Flipper * [examples] remove test-env crate feature for Flipper * [lang] remove unused IdentType::span method * [examples] Flipper: adjust contract for ink_lang changes * [examples] adjust Erc20 for the ink_lang changes * [examples] fix some indentation in Cargo.toml * [examples] adjust DNS contract for ink_lang changes * [examples] adjust ERC721 for ink_lang changes There is still a bug that we need to fix in ink_core. * [example] adjust lib.rs of ERC721 to ink_lang changes * [examples] adjust Delegator example contract for ink_lang changes * [lang_macro] generate SpreadLayout and PackedLayout impls for cross-calling wrappers * [core] release storage2::Stash::entries() iterator for non-testing API * [core] add SpreadLayout and PackedLayout impls for () type * [examples] convert multisig contract example to new ink_lang * [examples] fix incrementer Cargo.toml indentations * [examples] adjust runtime-storage example contract for ink_lang changes * [core] apply rustfmt * [lang] generate correct attributes for messages * [examples] make use of derive(Default) for DNS example * [lang_macro] improve some ink! error messages * [lang_macro] update all compile tests * [examples] multisig: ignore doc test This needs serious fixing later! @athei * [lang] remove old ink_lang abstractions * [lang] remove no longer needed ink_lang modules * [lang_macro] add compile test for derive on storage struct * [examples] ignore failing doc test * [examples] actually ignore the failing doc-test for multi-sig * [lang] move v2 module back to origin * [lang_macro] adjust codegen for new dispatch module structure of ink_lang * [lang_macro] no longer impl ink_core::{Flush, AllocateUsing} for ink! dependencies * [lang_macro] use root namespaces in codegen everywhere * [lang] apply rustfmt * [lang_macro] use only root namespaces in codegen (forgot some) * [lang] remove nightly Rust feature usage * [core] re-export StorageLayout from ink_core::storage2::traits * [lang,abi] adjust ink! metadata generation codegen to new layout * [lang] use root namespaces in codegen * [examples] apply rustfmt * [lang] update cross-calling codegen for new storage layout * [examples] update Delegator example contract * [examples] apply rustfmt * [abi] remove StorageLayout trait from ink_abi crate * [examples] apply rustfmt * [examples] fix clippy warning * [examples] fix multisig_plain contract * [examples] apply rustfmt * [examples] fix clippy warning * [examples] remove commented out code from multisig_plain example * [lang] refactor codegen for contract storage struct * [lang] fix unused import warning * [lang] eliminate CrossCallingConflictCfg * [lang] do not generate normal storage struct as dependency * [lang] re-introduce cross calling conflict cfg codegen * [lang/macro] refactor codegen for cross-calling * [lang] add new traits for Event connectors * [lang/macro] use connectors API for event codegen * [lang/macro] apply rustfmt * [lang/macro] remove out-of-ink-module export * [abi] fix selector encoding * [lang/macro] fix unused warning * [examples] adjust example smart contracts for recents ink_lang_macro changes * [abi] fix unit test for selector * [chores] update README ink! example * [alloc] silence warnings of unused unsafe for core::intrinsics::abort * [examples] apply rustfmt * [lang/macro] fix codegen for `cargo test` * [*] replace ink-generate-abi crate feature everywhere with std * [examples] fix Cargo.toml for generating metadata * [examples] move flipper/src/lib.rs one up * [examples] move lib.rs to root folder * [examples] fix Cargo.toml of ERC721 * [examples] apply rustfmt to ERC20 * [examples] apply rustfmt to ERC721 * [examples] apply rustfmt to all examples * [abi] remove unused serialize_selector function * [examples] fix bug that DNS example still used type-metadata crate * [example] fix bug in multisig_plain example
-
Andrew Jones authored
* Move spec tests to separate file * Add contract spec serialization test * Camel case field names * Encode selector as hex string * Move specs module back to top level * Move layout test to tests.rs * Layout externally tagged enums & camelCase * Format code * Rename TypeSpec::ty -> TypeSpec::id * TEMPORARY: Use my type-metadata branch * Derive TypeInfo for Key * Switch from type_metadata to scale_info * Convert layout to using scale-info * Fix scale-info optional dependencies * Fmt * Fix up straggling type-metadata dependency * scake-info master * Use scale-info from crates.io * oops * Fix compilation errors * Fmt * Fix examples manifests * Remove redundant into()
-
- 20 Nov, 2019 1 commit
-
-
Hero Bird authored
-
- 19 Sep, 2019 1 commit
-
-
Hero Bird authored
* [abi] add some missing exports to ink_abi * [abi] add missing docs * [abi] replace vec![] with Vec::new() * [abi] add ConstructorSpec + glue code * [abi] add ConstructorSpecBuilder::done * [abi] remove old DeployHandlerSpec * [abi] bump derive_more version 0.14 -> 0.15 * [abi] move Missing struct above state module * [abi] apply rust fmt * [abi] add TypeSpec as a new wrapper around type with optional display names * [abi] make EventParamSpec use new TypeSpec * [abi] finish integrating the new TypeSpec into specification structs * [abi] update abi_derive dependencies syn, quote and proc_macro to 1.0 * fix minor spelling in docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * [abi] refactor ContractSpecBuilder * [abi] apply rust fmt * [lang] implement new ink_abi API for ink_lang * [lang] apply rust fmt * [lang] implement display name support * [lang] adjust compile time tests to new ink_abi codegen
-
- 14 Aug, 2019 1 commit
-
-
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 <ascjones@gmail.com> * Update abi/src/specs.rs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * Update core/src/storage/collections/stash/impls.rs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * Update core/src/storage/collections/stash/impls.rs Co-Authored-By:
Andrew 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
-