- 01 Oct, 2020 2 commits
-
-
Hero Bird authored
* [*] split ink_core into ink_env and ink_storage The workspace does not yet compile! * [env] make compile again * [env] fix doc tests * [storage] make crate compile again * [env] fix some doc comment links * [README] flipper example: remove unused import * [storage/derive] fix compilation of generated code * [README] add ink_storage and ink_env doc links * [env, primitives, storage] fix docs * [lang] make compile again * [lang/codegen] use absolute paths in #[ink::test] proc. macro * [examples] make compile again * [*] apply rustfmt * [env] remove unneeded dependencies * [storage] remove all unneeded dependencies and crate features * [*] update outdated dependencies * [env, lang] remove unused dependencies * [*] fix comments * [*] fix some intra doc links * [ci] adjust to split ink_env and ink_storage crates * [ci] forgot to handle split ink_env and ink_storage in docs * [storage] fix fuzz tests * [examples] apply rustfmt * [examples] apply rustfmt (ERC-721)
-
Hero Bird authored
* [core] add new crypto hash API * [core] move new crypto hash definitions to dedicated module * [core] integrate the new env::hash module into core::storage module * [core] fix LayoutCryptoHasher impls * [core] add doc test to hash_encoded * [core] fix minor things in lazy hash map * [core] apply rustfmt * [core] remove old crypto hash module * [core] base DynamicAllocation::key implementation on new hash API * [core] remove old hash impls from on-chain env * [core] make DynamicAllocation::key impl work on Wasm32 target * [core] remove the entire deprecated ink_core::hash module
-
- 30 Sep, 2020 1 commit
-
-
Hero Bird authored
* [chores] update README to new ink! 3.0 syntax * [*] update all broken LICENSE and README.md symbolic links * [*] update all license headers Also be more strict about their dates: 2018-2020 for all
-
- 29 Sep, 2020 1 commit
-
-
Hero Bird authored
* [*] move all ink! crates into crates/ directory * [ci] adjust .gitab-ci.yml to crates/ directory * [ci] fix GitLab .gitlab-ci.yml (attempt #2) * [ci] forgot some lines in attempt #2 * [examples] fix example smart contracts They need to readjust their paths for the crates/ directory.
-
- 25 Aug, 2020 1 commit
-
-
Hero Bird authored
* [core] remove get_runtime_storage and invoke_runtime * [core] invalidate all implementations and usages of ext functions * [core] adjust ext_ functions in ext.rs * [core] add ReturnFlags to public API * [core] remove off-chain impls for get_runtime_storage and invoke_runtime * [core] rename ext::ext_input -> ext::input * [core] change return type of get_contract_storage Previously returned Option<Result<R>> and now returns Result<Option<R>>. This change is more pragmatic. * [core] add conversion from ext::Error to EnvError * [core] on-chain: add new utilities for static buffer modifications - EncodeScope: for efficiently appending encoded values - ScopedBuffer: for efficiently chunking buffers * [core] add impls for on-chain property getters * [core] remove no longer needed utiltiy function * [core] on-chain: new impl for invoke_contract and eval_contract * [core] on-chain: new impl for get_contract_storage * [core] on-chain: new impl for decode_input We should also rename this to simply "input" later. * [core] on-chain: new impl for output Now also uses the new ReturnFlags abstraction. * [core] on-chain: new impl for instantiate_contract * [core] on-chain: remove unused API * [core] on-chain: move EncodeScope and ScopedBuffer to buffer.rs * [core] on-chain: implement rest of the on-chain API * [core] add ScopedBuffer::take_bytes * [core] Add Env::call_chain_extension trait method * [core] remove unused helper methods * [core] on-chain: simplify static buffer - No more length - No more encodable - Only full range access * [core] add env::call_chain_extension public API * [core] rename Env::output -> return_value * [core] off-chain: adjust a bunch of off-chain methods to new interfaces * [core] off-chain: adjust get_contract_storage return type * [core] off-chain: remove RuntimeCallHandler and RuntimeStorage facilities * [core] off-chain: adjust some tests * [core] off-chain: remove OffCall utility type * [core] off-chain: implement chain extension handler * [core] adjust panic message * [core] apply rustfmt * [core] apply clippy suggestion * [core] off-chain: re-export ChainExtension and ChainSpec types from test API * [core] on-chain: retain panic messages * [core] rename ext_ to seal_ for all on-chain functions * [alloc] fix some warnings and add some minor comments * [core] add wasm_import_module = "seal0" * [core] introduce new Seal error codes * [core] directly return ReturnCode from C-FII * [core] make transfer return Result * [core] improve some doc comments * rename some old errors to their new names * [core] remove unused env errors and rename some off-chain errors * [core] fix bug in ReturnFlags::set_reverted (formerly known as set_trapped) * [core] avoid From impl for () for OffChainError * [lang] adjust lang layer for changes in core - Remove invoke_runtime - Remove get_runtime_storage - Rename gas_price -> weight_to_fee - Add ReturnFlags to return_value call * [core] turn redundant asserts into debug_assert * [core] be more strict when handling ext::get_storage error * [core] implement clippy suggestion * [examples] remove no longer useful runtime-storage contract We no longer support the get_runtime_storage host function. It will eventually be reintroduced at a later point through chain extensions. * [core] disable chain extensions by default Can be enabled by experimental crate feature: - unstable_chain_extensions * [lang] apply clippy suggestion to use matches! macro * [core] fix docs for ext_return Co-authored-by:
Alexander Theißen <alex.theissen@me.com> * [core] fix return type of api::return_value Not sure why the compiler didn't mention this return type failure ... Co-authored-by:
Alexander Theißen <alex.theissen@me.com> * [core] fix doc comment of Env::return_value * [core] introduce RawReturnCode as a layer between Seal error codes and ink! * [alloc] make #[alloc_error_handler] private * [alloc, core] move alloc_handler from ink_alloc to ink_core * [core] replace useless intermediate ReturnCode type * [core] rename RawReturnCode -> ReturnCode * [core] apply rustfmt * [core] apply rustfmt * [core] off-chain: rename invoke -> eval for chain extension calling * [core] use Ptr32 and Ptr32Mut to encapsulate pointer -> u32 conversions * [core] make new Ptr32 and Ptr32Mut abstractions more type safe Co-authored-by:
Alexander Theißen <alex.theissen@me.com>
-
- 30 Jun, 2020 1 commit
-
-
Andrew Jones authored
* extract arithmetic types * Add basic saturating tests * Fmt * Add comment about EnvTypes bounds
-
- 21 Mar, 2020 1 commit
-
-
Hero Bird authored
* [core] implement crypto hash functions supported by contracts pallet * [core] fix clippy warnings * [core] add unit tests for new crypto hashes * [core] refactor unit tests for crypto hashes * [core] make hash functions return their hash through output buffer * [core] update docs of hash APIs * [core] put hash API in its own sub-module of env * [core] fix on-chain hash implementations * [core] apply rustfmt
-
- 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 1 commit
-
-
Hero Bird authored
-
- 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
-
- 19 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 * [core] fix minor formatting issues
-
- 16 Aug, 2019 1 commit
-
-
taskooh authored
* import ext_call to trait and add function to generate input_data of ext_call remove #[allow(unused)] from ext_call() implment call_invoke and call_evaluate fix format call_invoke and call_evaluate returns Return<_,CallError> fixed * fix format and change return type of test_env * [core] implement CallError as struct and add call_return field to text_env * fix trivial and remove lang/src/encode_input_data * [core] use map_err while handling Result<>
-
- 24 Jun, 2019 1 commit
-
-
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
-
- 22 Apr, 2019 1 commit
-
-
Robin Freyler authored
-
- 13 Mar, 2019 1 commit
-
-
Robin Freyler authored
-
- 06 Mar, 2019 1 commit
-
-
Robin Freyler authored
-
- 27 Feb, 2019 1 commit
-
-
Hero Bird authored
-
- 06 Feb, 2019 1 commit
-
-
Hero Bird authored
Note: No other changes and renamings have been done yet so the crate is currently not in a compilable state.
-
- 15 Jan, 2019 1 commit
-
-
Hero Bird authored
-
- 08 Jan, 2019 2 commits
- 02 Jan, 2019 3 commits
- 17 Dec, 2018 2 commits