- 13 Jun, 2020 1 commit
-
-
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()
-
- 03 Feb, 2020 1 commit
-
-
Hero Bird authored
* [core] initial implementation of env revision 3 * add engine abstraction layer and implement api functions * add support for dispatch_call to env3 * add missing invoke_runtime to api.rs * [core] fix restore_contract docs * [core] initial implementation of off-chain environment * [core] clean-up of env3 fundamental types * [core] add WasmEnv::reset_buffer * show test submodule of env3 when compiling with rustdoc * [core] initial implementation of the off-chain env instance Also many other adjustments. * [core] further enhancements to off-chain env * [core] implement untyped Env for off-chain environment * [core] implemented a good chunk of TypedEnv for the off-chain environment * [core] minor improvements to env3 * [core] further improvements and additions to test-api of env3 * [core] remove former test-api file * [core] env3: add support for ext_tombstone_deposit * [core] env3: add setting of rent allowance in off-chain env * [core] env3: remove buffer.rs * [core] env3: remove property.rs * [core] env3: mark some TypedEnv methods as not-todo * [core] env3: enable off-chain api for non test/doc builds * [core] env3: use a static buffer instead of Vec<u8> * [core] env3: move static buffer into its own module * fix doc comment Co-Authored-By:
Michael Müller <mich@elmueller.net> * [core] env3: add missing license header * [core] env3: remove deprecated doc note * [core] env3: add off-chain {set/get}_runtime_storage * [core] env3: add off-chain invoke_runtime dispatch This also enables support for registering custom runtime call handlers. * [core] env3: slightly improve env3::random docs comment * [core] env3: move off-chain errors under EnvError * [core] env3: add ext_random support for the off-chain environment * [core] env3: minor clean ups * [core] env3: improve TypedEncoded::assign * [core] env3: un-mut some variables * [core] env3: fix some clippy warnings * [core] env3: add past_printlns to off-chain test api * [core] env3: minor refactoring * [core] env3: apply rustfmt * [core] env3: clean up of call and instantiate contract * [core] env3: rename moment -> time_stamp * [core] env3: make get_runtime_storage return a Result instead of RetCode * [core] env3: remove unneeded import * [core] env3: add some trait impls for EnvTypes::Hash * [core] env3: remove last remaining usages of RetCode * [core] env3: refactor some errors * [core] env3: document the EnvError enum * [core] env3: add impls for fire methods on call and create builders * [core] env3: add doc comment to past_printlns * [core] env3: apply rustfmt * [core] env3: update license headers * [core] env3: support querying and emitting of events in off-chain env * [core] env3: missing license header adjustment * [core] env3: apply rustfmt * [core] env3: rename some methods in off-chain test-api * [core] env3: add doc comment to test::emitted_events * [core] env3: add stub for test::advance_block * [core] env3: rename some more test API methods * [core] env3: initialize entropy of block randomly * [core] env3: extend EnvTypes trait bounds This change makes the trait bounds more similar to what Substrate defines. * [core] env3: document SimpleArithmetic trait * [core] env3: add From<u32> to SimpleArithmetic trait * [core] env3: made some trait bounds more explicit in SimpleArithmetic trait * [core] env3: add comment describing potential future extensions to SimpleArithmetic trait * [core] env3: rename EnvTypes::Moment to TimeStamp * [core] env3: add block_time to ChainSpec * [core] env3: remove CodeDb again Not needed right now. Maybe re-added at a later point. * [core] env3: apply rustfmt * [core] env3: implement off-chain test::advance_block * [core] env3: fix bug in off-chain test::advance_block impl * [core] env3: made SimpleArithmetic trait more explicit towards Output types * [core] env3: add default initialization routines for off-chain environment * [core] env3: remove test::create_user_account for now * [core] env3: fix missing renaming from Moment -> TimeStamp * [core] env3: impl PartialEq and Eq for off-chain error types * [core] env3: add test::run_test for off-chain testing with default setup * [core] env3: fix several minor bugs with the off-chain environment * [core] convert key.rs tests to new env3 * [core] remove commented out code in key.rs tests * [core] evn3: add test::get_contract_storage_rw * [core] use env3 instead of env1 in storage cells * [core] integrate env3 into storage::TypedChunk * [core] remove storage::RawChunk and NonCloneMarker * [core] adjust SyncChunk slightly for TypedChunk modifications * [core] simplify transitioned env3 tests for TypedChunk * [core] transition tests for SynChunk to env3 * [core] transition storage::Stash tests to env3 * [core] transition storage::HashMap tests to env3 * [core] transition storage::BinaryHeap tests to env3 * [lang] remove the entire ink! lang crate It has been deprecated for a whole while. * [model] remove ink! model crate entirely It has been deprecated for a whole while. * [core] remove the old env1 sub-module of ink_core It has been deprecated for a whole while. * [examples] remove model examples * [examples] remove lang examples * [examples] remove core examples * remove "If given too few endowment" from docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * fix doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * fix doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * [lang2] initial steps towards basing on env3 instead of env2 With this commit `cargo contract build` already works. However, cargo test etc. are still broken. * [lang2] make macros work for `cargo test` * [core, lang2] make contracts compile as ink-as-dependency * [lang2] make events work for ink_lang2 on env3 * [lang2] remove AccessEnv - no longer needed * [core] remove env2 * [lang2] fix tests - Fix warning in ink_lang2 - Remove no longer needed test case - Adjust some passing tests after default module import removal * [*] apply rustfmt * [lang2] silence unused warning for now * [core] rename {create|Create}* to {instantiate|Instantiate}* - CreateBuilder -> InstantiateBuilder - CreateParams -> InstantiateParams - create -> instantiate * [core] rename endowment -> transferred_value for CallBuilder/Params * [examples] adjust Delegator contracts for recents changes * [core] rename now_in_ms -> block_timestamp * [core] follow-up of the call renamings (transferred_value) * [lang2] rename now_in_ms -> block_timestamp * [examples] move examples out of the examples/lang2 folder * [examples] fix runtime-storage example contract * [examples] fix Flipper contract * [examples] fix Incrementer contract * [examples] fix Erc20 contract * [utils] add Key and byte_utils to ink_utils * [utils -> primitives] rename ink_utils -> ink_primitives * [*] move all links from ink_utils -> ink_primitives * [primitives] update Cargo.toml description * [*] use ink_primitives::Key remove ink_core::Key * [primitives] refactor new crate, make it more usable in ink! context * [*] relink to ink_primitives for Key usage * [abi] refactor macros and relink to ink_primitives::Key * [lang2] fix usage of renamed Create{Builder, Params} * [examples] fix examples under recent changes with ink_primitives * [*] apply rustfmt * [lang2/macro] remove deprecated feature usage of proc_macro_hygiene * [examples] remove deprecated proc_macro_hygiene feature * [core] remove test_utils * [core] rename env3 to env * [*] rename all usages of env3 to env * [core] fix feature usage in num-traits of ink_core Cargo.toml * [*] update README * [primitives] conditionally compile type_metadata from ink_primitives * [core] make env::get_contract_storage return Option<Result<T>> * [core] fix some faulty doc comments * [ci] fix GitLab CI * [primitives] fix no_std compilation * [primitives] fix warning * [core] make `rand` dependency optional for `std` crate feature * [core] remove the test-env crate feature from the ink_core crate * [core,primitives] move some tests from primitives to core * [lang] move lang2/ to lang/ * [*] rename all instances of ink_lang2 or lang2 to ink_lang or lang * [lang/macro] fix ink_primitives dependency * [*] apply rustfmt * [core] fix clippy warning * [ci] eliminate README from examples CI checks * [examples] apply rustfmt * [lang/macro] improve event codegen * [core] rename TimeStamp/time_stamp to Timestamp/timestamp * [lang] remove unused extern crate alloc * [core] rename env::address to env::account_id * [lang] perform renamings on ink_lang::EnvAccess but with deprecation instead of removal * [core] fix missing time_stamp renamings * [lang] fix missing TimeStamp renamings * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename create_contract -> instantiate_contract Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename create_contract -> instantiate_contract Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * impr Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename endowment -> transferred_value Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * improve doc comment Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename create_contract -> instantiate_contract Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename create_contract -> instantiate_contract Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename time stamp to timestamp Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * rename SRML to env in docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * remove SRML word from docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * remove SRML word from docs Co-Authored-By:
Andrew Jones <ascjones@gmail.com> * [lang] fix doc comment for filtered_keys in restore_contract * [core] rename create_contract -> instantiate_contract * [core] rename create_contract -> instantiate_contract * [core] fix some renamings around endowment -> transferred_value * [lang] rename create_contract -> instantiate_contract follow-up * [core] apply rustfmt * [core] improve restore_contract doc comment * [core, lang] link to ink_core::env::* doc comments from all api places * [core] apply rustfmt Co-authored-by:
Michael Müller <mich@elmueller.net> Co-authored-by:
Andrew Jones <ascjones@gmail.com>
-
- 20 Nov, 2019 2 commits
-
-
Hero Bird authored
* Update some deps Signed-off-by:
koushiro <koushiro.cqx@gmail.com> * Format Signed-off-by:
koushiro <koushiro.cqx@gmail.com> * Fix clippy-wasm Signed-off-by:
koushiro <koushiro.cqx@gmail.com> * [examples] fix minor formatting issues * [examples] fix some clippy warnings * [lang2/macro] silence warning for ink! constructors named "new" * [*] replace documentation link in Cargo.toml to ink! tutorial * [abi] specify allow(clippy::trivially_copy_pass_by_ref) in a smaller scope * [abi] specify allow(clippy::new_ret_no_self) in smaller scope * [ci] adjust gitlab-ci.yml * [ci] update Travis CI to just do coverage reporting
-
Hero Bird authored
-
- 25 Oct, 2019 1 commit
-
-
Qinxuan Chen authored
* rustfmt Signed-off-by:
koushiro <koushiro.cqx@gmail.com> * Fix clippy Signed-off-by:
koushiro <koushiro.cqx@gmail.com> * Revert builder to new Signed-off-by:
koushiro <koushiro.cqx@gmail.com>
-
- 30 Aug, 2019 1 commit
-
-
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
-
- 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
-