This project is mirrored from https://github.com/paritytech/ink.git. Updated .
  1. 15 Nov, 2019 2 commits
  2. 14 Nov, 2019 4 commits
    • Hero Bird's avatar
      Fix typo in README · 80984939
      Hero Bird authored
      80984939
    • Hero Bird's avatar
      0bca8dca
    • Hero Bird's avatar
      Improve GitLab CI (#235) · ef960aae
      Hero Bird authored
      * [lang2/macro] add some dev-dependencies to make CI work better
      
      * [scripts] improve check-workspace script
      
      We introduced "hacks" to make it work with the currently buggy nightly version of cargo ... We hope we can move back to were we came once cargo nightly has been fixed again.
      
      * [*] fix formatting issues
      
      * [cli] re-enable build_template test
      
      * [lang2] fix some clippy warnings
      
      * [cli] fix formatting
      
      * test what's faster
      
      * typo
      
      * debug no config and job name
      
      * bench CI var2
      
      * set of jobs for every crate
      
      * ordered set of jobs for every crate
      
      * right commands for the crates and examples. H/e examples will work after dockerfile update.
      
      * comparing two CI approaches
      
      * typo
      
      * forgot to exclude model and lang crates
      
      * bench CI 2
      
      * will bench in other branch
      
      * fix return in cycle
      
      * review 1
      
      * unset allow_failures
      
      * changed cd to popd
      
      * changed cd to popd
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update .gitlab-ci.yml
      
      * Update cli/src/cmd/abi.rs
      ef960aae
    • Stefanie Doll's avatar
      Add ./examples README & basic build instructions (#236) · 775992ea
      Stefanie Doll authored
      * Added ./examples README
      
      * Add build description to README's
      
      * Update README.md
      Co-Authored-By: default avatarHero Bird <robin.freyler@gmail.com>
      
      * Update README.md
      Co-Authored-By: default avatarHero Bird <robin.freyler@gmail.com>
      
      * Update examples/README.md
      Co-Authored-By: default avatarHero Bird <robin.freyler@gmail.com>
      
      * Update examples/README.md
      Co-Authored-By: default avatarHero Bird <robin.freyler@gmail.com>
      
      * ABI -> Metadata
      
      * ABI -> Metadata pt. 2
      
      * Wording for --force
      
      * Removed testing paragraph
      
      * Update examples/README.md
      Co-Authored-By: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Update examples/README.md
      Co-Authored-By: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Update README.md
      775992ea
  3. 13 Nov, 2019 6 commits
  4. 12 Nov, 2019 1 commit
  5. 11 Nov, 2019 1 commit
    • Hero Bird's avatar
      ink! 2.0: Improve Diagnostics follow-up (#228) · 216a79d0
      Hero Bird authored
      * [lang2/macro] improve diagnostics for missing a #[ink(storage)] struct
      
      * [lang2/macro] add UI test for missing #[ink(storage)] struct
      
      * [lang2/macro] add test for multiple #[ink(storage)] structs
      
      * [lang2/macro] add ui test for storage-impl conflict
      
      * [lang2/macro] implement check that ink! impls are on #[ink(storage)] structs
      
      * [lang2/macro] fix some success tests
      
      * [lang2/macro] add expected output for failure UI test 16
      
      * [lang2/macro] add conflicting ink! marker test
      
      The conflict here is the additional #[ink(event)] marker
      
      * [lang2/macro] utils: add filter_map_ink_attributes
      
      * [lang2/macro] structs now dispatch on whichever ink! marker was provided first
      
      * [lang2/macro] add failure UI test for #[ink(event)] provided with another #[ink(storage)]
      
      * [lang2/macro] improve diagnostics for unsupported ink! markers on structs
      
      * [lang2/macro] add test for unknown struct ink! markers
      
      * [lang2/macro] improve diagnostics for multiple #[ink(storage)] structs
      
      * [lang2/macro] adjust test case for multiple #[ink(storage)] structs
      
      * [lang2/macro] improve error message for unknown method ink! markers
      
      The error diagnostics can be further improved by showing all occurences of unknown ink! markers in an impl block.
      
      * [lang2/macro] add test for unknown ink! method marker
      
      * [lang2/macro] fix minor typo in tests
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [lang2/macro] fix typo in test
      Co-Authored-By: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      
      * [lang2/macro] fix typo in test
      Co-Authored-By: Andrew Jones's avatarAndrew Jones <ascjones@gmail.com>
      216a79d0
  6. 10 Nov, 2019 1 commit
  7. 09 Nov, 2019 3 commits
    • Andrew Jones's avatar
      [cli] add generate-abi command (#209) · fe093478
      Andrew Jones authored
      * [cli] add flag to `build` command to generate abi
      
      * [cli] fix abi console output
      
      * [cli] restore +nightly
      
      * [cli] separate generate-abi command
      
      * [cli] move nightly check to exec_cargo fn
      
      * [cli] add test for generate_abi
      fe093478
    • Hero Bird's avatar
      [cli] fix bugs in the template (#224) · c7411dac
      Hero Bird authored
      c7411dac
    • Hero Bird's avatar
      Implementation of ink! syntax 2.0 (#191) · 098b5a4d
      Hero Bird authored
      * [lang2] initial commit of ink! lang2 frontend
      
      This is going to be the frontend for the new ink! syntax.
      
      * [lang2] change version syntax to semantic versioning string
      
      * [lang2] add failure test for invalid semantic version string
      
      * [lang2] fix some unused warnings
      
      * [lang2] change lib name to ink_lang2
      
      * [lang2] add span to ir::data::ItemStorage
      
      * [lang2] modernize env types codegen
      
      * [lang2] re-introduce entry points codegen but without body for now
      
      * [lang2] add initial storage struct codegen
      
      * [lang2] add lang2 flipper contract example for testing purposes
      
      * [core] impl env2::EnvTypes for DefaultSrmlTypes instead of old env::EnvTypes
      
      * [lang2] add `0` body to entry points
      
      * [lang2] mark fn allocate_using impl for storage struct as unsafe
      
      * [lagn2] ignore args in Initialize::initialize impl for storage struct
      
      * [lang2] adjust compiletests
      
      * [core] add emit_event to EnvAccess{Mut}
      
      * [lang2] add codegen for contract functions
      
      * [lang2] add Signature::inputs
      
      * [lang2] adjust and modernize compiletests
      
      * [lang2] apply rustfmt
      
      * [core] add generic Encode param to EmitEventParams
      
      * [cli] bump version 0.1.1 -> 0.1.2
      
      * [core] make it possible to use EnvAccess{Mut} directly in storage
      
      * [core] make Selector::{from_bytes, to_bytes} const fn
      
      * [core] add check to Decode impl for CallData
      
      * [core] add #[inline..] annotations to some public trait impls
      
      * [lang2] move lang2 into lang2_macro and create new lang2 helper crate
      
      * [examples] add initial core/flipper example that acts as codegen prototype
      
      * [core] add some more #[inline..] annotations
      
      * [lang2] split DerefEnv into AccessEnv{Mut} and losen direct trait bounds
      
      * [core] add efficient conversion from DynEnv<EnvAccessMut> to DynEnv<EnvAccess>
      
      * [examples] adjust core::Flipper prototype to newest state
      
      * [core] add env accessors to DynEnv
      
      * [lang2] add AccessEnv{Mut} impls for DynEnv and EnvAccess{Mut}
      
      * [lang2] use double AccessEnv trait indirection in dispatch fns
      
      * [examples] core::flipper: add ink-dyn-alloc crate feature
      
      Enable this to enable dynamic storage allocation for your contract.
      Dynamic storage allocation is an optional drop-in feature.
      
      * [lang2] make LICENSE and README.md sym links
      
      * [lang2-macro] replace LICENSE and README.md with sym links
      
      * [lang2] add access_env sub module
      
      * [lang2] simplify Message trait concept for constructors
      
      * [lang2] add more general error codes
      
      * [lang2] add storage sub module
      
      * [lang2] remove old dispatch sub module
      
      * [lang2] implement new dispatcher based on ink_model v2
      
      * [examples] adjust core flipper example for new codegen
      
      * [lang2] remove some commented out code
      
      * [lang2] rename dispatch2 to dispatch_using_mode
      
      * [lang2] fix doc link in DispatchMode docs
      
      * [examples] adjust core::Flipper to better reflect codegen prototype
      
      * [lang2] rename ContractDispatch to DispatchUsingMode and add docs
      
      * [lang2] remove unused ContractInstance trait
      
      * [lang2] remove unneeded Msg and Constr utility types
      
      Those types should solely be provided by the contracts themselves.
      They act as namespaces for the respective message type.
      
      * [lang2/macro] add GenerateCodeUsing trait
      
      * [example] add explanation docs to the Flipper::get(&mut self) method
      
      * [lang2] fix unused warning
      
      * [lang2/macro] refactor codegen module
      
      * [lang2/macro] remove commented-out code
      
      * [core] add EnvAccess to allow universal usage of EnvAccess
      
      * [lang2] no longer require separate storage structs
      
      * [examples] adjust core/Flipper to newest ink_lang2 and ink_core changes
      
      * [examples] remove as much direct Flipper usages as possible
      
      * [lang2/macro] temporarily disable dispatch codegen
      
      * [lang2/macro] add MetaInfo::is_dynamic_allocation_enabled stub
      
      * [lang2/macro] implement initial storage codegen
      
      * [core] remove DynEnvAccess and DynEnvAccessMut
      
      No longer needed!
      
      * [core] implement AccessEnv for &'a {mut} DynEnv<EnvAccess{Mut}>
      
      * [examples] fix implementation of ink_lang2::AccesEnv for StorageAndEnv
      
      * [examples] fix ink_core::env2::AccessEnv impl for StorageAndEnv
      
      * [examples] move deploy and call fns into dispatch const block
      
      * [examples] convert docs to comments because they screw up cargo expand
      
      * [lang2/macro] remove ink_model dependency
      
      * [lang2] fix some minor warnings and issues
      
      * [lang2/macro] fix codegen of ink_core::env2::AccessEnv impls
      
      * [lang2/macro] refactor and improve FunctionSelector implementation
      
      * [lang2/macro] Signature::inputs now returns an iterator over IdentType
      
      Was returning an iterator over FnArg before but conversion is trivial.
      
      * [lang2/macro] add dispatch codegen
      
      * [examples] fix DefaultSrmlTypes usage in lang2/Flipper
      
      * [core] prepare env2 to be used with ABI generation purposes
      
      * [examples] add ABI generation to core/Flipper
      
      This will serve as a prototype for ink_lang2 codegen.
      
      * [core, model] remove unneeded warnings/lints
      
      * [lang2] make calls to AccessEnv and Flush more explicit
      
      * [lang2/macro] no longer use no-default-features for dev-dependencies
      
      * [lang2/macro] surpress warnings of unused imports for core::env2::AccessEnv
      
      * [lang2/macro] fix codegen of {ink_lang2/core::env2}::AccessEnv impls
      
      * [lang2/macro] remove unused let binding (was commented out anyways)
      
      * [lang2/macro] fix several codegen bugs
      
      * [examples] remove ink_model and ink_lang dependencies of lang2/Flipper
      
      * [examples] add contract and layout bindings type annotation
      
      * [lang2/macro] adjust some passing tests
      
      * [lang2] add GenerateAbi trait guarded by ink-generate-abi crate feature
      
      * [lang2/macro] move scale dependency away from ink dependencies in Cargo.toml
      
      * [lang2/macro] add Metadata and HasLayout derives to storage structs
      
      * [lang2/macro] insert minor whitespace between bindings and quote
      
      * [lang2/macro] add abi module to generate ABI generating code
      
      * [lang2/macro] add Function::{filter_constructor, filter_message}
      
      * [lang2/macro] fix bug that non-ink! filter for attributes was off
      
      * [lang2/macro] make use of iterative array quoting in Dispatch codegen
      
      * [lang2/macro] add utility to filter doc attributes and parse them to readable string
      
      * [lang2/macro] add codegen for ABI generation
      
      * [example] adjust lang2/Flipper abi-gen package
      
      * [lang2/macro] ink::contract params adjustments
      
      - make `env` param default to ink_core::env2::DefaultSrmlTypes
      - add `dynamic_allocations = {true|false}`, default: false
      - add `compile_as_dependency = {true|false}`, default: false
      
      * [lang2/macro] adjust passing tests to new contract params
      
      * [examples] adjust lang2/Flipper to new contract params
      
      We enable dynamic_allocations for now since disabling it causes other errors.
      
      * [lang2/macro] add different HasLayout impl for dynamic_allocations {true|false}
      
      * [examples] lang2/Flipper no longer requires dynamic_allocations = true
      
      * [lang2] rename AccessEnv::env to AccessEnv::access_env
      
      This helps to disambiguate certain other `env` methods and trait impls
      
      * [examples] adjust core/Flipper example
      
      * [core] refactor event emitting interfaces in env2
      
      * [examples] core/Flipper: fix env types aliases
      
      * [examples] core/Flipper: adjust to new event emitting
      
      Also:
      - messages and constructors no longer can access private fields from StorageAndEnv
      - rename __ink_storage to __ink_private
      - add __ink_events module in __ink_private defining all events and utilities
      - general rust formatting
      
      * [core] add EmitEvent utility trait
      
      This allow to disambiguate the contract's provided EmitEvent trait
      
      * [examples] core/Flipper: make it impossible to ambiguate emitting of events
      
      * [lang2/macro] rename contract_module.rs to contract.rs
      
      * [lang2/macro] generated messages and constructors can no longer access internals of StorageAndEnv
      
      * [lang2/macro] apply rustfmt
      
      * [lang2/macro] add event codegen
      
      - ABI generation codegen for events is still missing
      
      * [lang2/macro] adjust some pass UI tests to new event codegen
      
      * [lang2/macro] re-export the contract on crate root again
      
      This is done for ABI creation since otherwise the abi-gen tool couldn't access the data.
      
      * [lang2/macro] add ABI generation for events
      
      * [lang2/macro] add Erc721 UI pass test
      
      * [lang2/macro] add missing codegen for ABI event args docs
      
      * [lang2/macro] fix a bug that ABI codegen would always impl GenerateAbi for Flipper
      
      * [lang2/macro] add derive(Metadata) to Error enum for Erc721 test
      
      * [core] add missing Initialize::default_value impls
      
      * [core] add Debug impls for some env types
      
      * [examples] core/Flipper: add code to allow for offchain testability
      
      * [examples] core/Flipper: add error handling for test env init
      
      * [lang2/macro] add docs to ABI generation of event args
      
      * [examples] core/Flipper: adjust to improve testability
      
      - No longer requires <Flipper as Testable>::constructor
      - packs whole of flipper contract in associated flipper module such as what ink_lang2 does
      
      * [lang2/macro] add filter_ink_attributes and has_ink_attributes to utilities
      
      * [lang2/macro] re-export utils from ir
      
      * [lang2/macro] add ir::utils::is_ink_attribute
      
      * [lang2/macro] allow non-ink! items in the contract module
      
      * [lang2/macro] add test for non-ink! module items
      
      * [lang2/macro] apply rustfmt on UI tests
      
      * [lang2/macro] fix 02 ui fail test
      
      * [lang2/macro] generate code for non-ink! module items
      
      * [lang2/macro] move utilities inside the contract module - because we can!!
      
      * [lang2/macro] adjust compile tests for most recent changes
      
      * [lang2/macro] add compile test for missing messages
      
      * [lang2/macro] fix some minor warnings
      
      * [lang2/macro] add a lint to check if all identifiers respect not starting with __ink
      
      * [lang2/macro] add simple test for __ink starting identifiers lint
      
      * [lang2/macro] update docs of idents_respect_pred
      
      * [lang2] apply rustfmt
      
      * [core] apply rustfmt to env2 module
      
      * [lang2/macro] add ir::utils::filter_non_ink_attributes
      
      * [lang2/macro] make use or ir::utils::filter_non_ink_attributes
      
      * [lang2/macro] re-export contract on crate root only for ABI generation
      
      * [lang2/macro] documented code generation principles
      
      * [examples] add Erc20 token example for lang2
      
      * [lang2/macro] refactor event codegen
      
      * [lang2/macro] move dispatch codegen into __ink_private
      
      This hides `Msg` and `Constr` namespaces into __ink_private.
      
      * [lang2/macro] move ABI generation codegen into __ink_private
      
      * [lang2/macro] add test to forbig accessing generated storage fields
      
      * [lang2/macro] extend test to forbig accessing generated storage fields
      
      * [lang2] implement testable contracts codegen
      
      * [lang2/macro] do not generate dispatch code for tests or if `test-env` is enabled
      
      * [examples] lang2/Flipper: add contract tests
      
      * [lang2/macro] add simple tests to flipper test
      
      * [examples] remove core/Flipper example again
      
      This was decided after we felt that maintaining it was more of a burden than it being a help for further development.
      
      * [lang2/macro] apply rustfmt
      
      * [core] refactor env2 cross-calling infrastructure
      
      * [core] move seals into utils
      
      * [examples] lang2/Flipper: add default_works test
      
      * [lang2/macro] add cross-contract calling
      
      * [lang2/macro] add cross-contract calling test
      
      * [lang2] remove CreateForwarder infrastructure since unneeded
      
      * [lang2/macro] do not generate code for Events when compiled as dependency
      
      * [lang2/macro] remove strange semi-comments in Msg and Constr
      
      * [lang2/macro] add Debug derive to StorageAsDependency
      
      * [examples] add Delegator contract based on ink_lang2
      
      * [core] guard calling CreateBuilder::using_code at compile-time
      
      * [lang2] fix some clippy warnings
      
      * [chores] update README
      
      * [lang2/macro] refactor into_hir: use ir types through ir module
      
      * fix typo
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in lang2/macro/src/ir/into_hir.rs
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in examples/lang2/delegator/adder/lib.rs
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in lang2/macro/src/codegen/cross_calling.rs
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in core/src/env2/traits.rs
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * fix typo in lang2/macro/src/codegen/contract.rs
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [lang2/macro] improve some ink! error messages
      
      * [lang2/macro] remove commented-out code
      
      * fix typo in lang2/macro/src/codegen/dispatch.rs
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [lang2/macro] remove ancient Cargo.toml artifacts
      
      * [examples] fix typo and enhance delegator docs a bit
      
      * use `#!/usr/bin/env` instead of `#!/bin/bash`
      Co-Authored-By: Michael Müller's avatarMichael Müller <mich@elmueller.net>
      
      * [lang2] apply rustfmt
      
      * [core] env2: apply rustfmt
      
      * [cli] adjust CLI to generate ink_lang2 contract upon new command
      
      * [lang2/macro] generate some #[inline] annotations on some generated cross-calling interfaces
      
      * [examples] improve Delegator example slightly
      
      * [core] fix bug that SrmlEnv tried to impl traits for TestEnv
      
      * [examples] fix bug that .ink/abi_gen was using incorrect crate features
      
      * [cli,examples] fix all abi_gen/Cargo.toml files
      
      * [examples] fix bugs in some examples
      
      * [lang2/macro] suppress some unused_parens warnings
      
      * [examples] add incrementer as lang2 example
      
      * [lang2/macro] make codegen more precise when using traits
      
      * [lang2/macro] "fix" a bug in cross-calling codegen
      
      The fix is actually a hack that we should remove again as soon as possible by a proper solution.
      
      * [core] rename ext_create to ext_instantiate
      
      * [examples] lang2/Delegator: fix some warnings and added Delegator::get
      
      * [examples] lang2/Erc20: add Erc20::allowance
      
      * [core] fix bug in executing ext::scratch_read causing panic
      
      * [core] remove unused println statements in tests
      
      * [examples] delegator: minor improvements
      098b5a4d
  8. 30 Oct, 2019 2 commits
    • Michael Müller's avatar
      Implement Heap storage primitive (#206) · b748cc16
      Michael Müller authored
      * Fix typos
      
      * Fix linter errors in cmd cli
      
      The CI complains.
      
      * Add Heap collection
      
      * Apply CI style recommendations
      
      * Remove `HeapType` param from constructor
      
      Instead of passing `HeapType::Min`/`HeapType::Max`
      to the constructor one should instead explictly
      implement `Ord` on the generic type which is
      stored in the heap.
      
      This is the way the Rust API works as well.
      
      * Apply CI style recommendations
      
      * Improve iterator test/docs
      
      * Improve doc comments
      
      * Fix typo
      
      * Reduce storage fetches via wrapper around SyncChunk
      
      * Rename Heap to BinaryHeap
      
      * Make `AccessWrapper` independent
      
      * Simplify ternary heap to binary heap
      
      * Rename AccessWrapper to DuplexSyncChunk
      
      * Remove superfluous Flush bound
      
      * Simplify code by removing BinaryHeapHeader
      
      * Removed unnecessary Copy + Clone bounds
      
      * Satisfy rustfmt
      
      * Add clarifying comment for testing struct
      
      * Replace expected arg with predicate condition
      
      * Substitute mem::replace with Option API functions
      
      * Improve grouping in DuplexSyncChunk
      
      * Improve comment
      
      * Satisfy rustfmt
      
      * Derive Ord/PartialOrd implementation
      
      * Remove unnecessary trait bounds
      
      * Use compound trait bound
      
      * Fix typo
      
      * Add metadata for DuplexSyncChunk
      
      * Satisfy rustfmt
      b748cc16
    • Denis_P's avatar
      retry on gitlab system failures (#218) · d5863ac4
      Denis_P authored
      * retry on gitlab system failures
      
      * retry can't be root config key
      d5863ac4
  9. 29 Oct, 2019 1 commit
  10. 25 Oct, 2019 2 commits
  11. 24 Oct, 2019 3 commits
    • Andrew Jones's avatar
      [cli] fix `new` command tests, pass in optional target dir (#197) · 59867455
      Andrew Jones authored
      * [cli] use temp dir for `cargo contract new` tests
      
      * [cli] pass in temp dir to build command
      
      * [cli] rustfmt
      
      * [cli] remove some spaces
      
      * [cli] rustfmt
      
      * [cli] fix unused warnings
      
      * [cli] TEMPORARY: see if test works on CI without nightly flag
      
      * [cli] build: check if nightly toolchain is the default
      
      * [cli] TEMPORARY: dump cargo output of build command test
      
      * [cli] TEMPORARY: fix error in las commit
      
      * [cli] TEMPORARY: add some diagnostics to see if .cargo/config is there
      
      * [cli] TEMPORARY: use cat
      
      * [cli] fix merge compilation error
      
      * [cli] change ls and cat commands to current_dir
      
      * [cli] fix troubleshooting logging
      
      * [cli] TEMPORARY: comment out RUSTFLAGS for troubleshooting
      
      * [cli] add link-dead-code args to top level .cargo/config
      
      Avoids RUSTFLAGS env var overriding contract project's rust flags
      
      * [cli] revert temporary CI build troubleshooting
      
      * [cli] make rustflags not target specific
      
      * [cli] only link-dead-code in CI
      
      * [cli] TEMP: output .cargo/config
      
      * [cli] printf instead of echo
      
      * [ci] create cargo config in $CARGO_HOME instead of workspace root
      
      * [ci] fix cargo_home path
      
      * [ci] overwrite rather than append cargo home config
      
      * [ci] restore original RUSTFLAGS, ignore failing build test
      
      * [ci] remove stray echo
      59867455
    • Michael Müller's avatar
      47cf6f5e
    • Michael Müller's avatar
      d218509f
  12. 23 Oct, 2019 1 commit
    • Michael Müller's avatar
      [abi] Improve JSON encoding of selectors + layout key (#207) · 48fb16f0
      Michael Müller authored
      * Export selector as hex string
      
      To have an unambiguous exported representation.
      The previously used `u32` can be interpreted
      differently depending on the endianness of the
      target system.
      
      * Improve JSON encoding of Key `layout` in Metadata
      
      * Add tests for selector serialization
      
      * Encode selector as [u8; 4]
      
      * Remove unused import
      
      * Satisfy rustfmt check
      
      * Improve messages! macro
      
      * Convert tabs to spaces.
      * Replace `DELIMITER` with `@delimiter`.
      * Improve comments.
      
      * Improve comment
      
      * Ensure old ABI format stays the same
      
      * Reduce code duplication by introducing selector_to_expr()
      
      * Satisfy rustfmt
      48fb16f0
  13. 15 Oct, 2019 1 commit
  14. 04 Oct, 2019 5 commits
    • Andrew Jones's avatar
      [cli] deploy command (#131) · e5d03264
      Andrew Jones authored
      * [cli] construct put_code extrinsic
      
      * [cli] fetch current account nonce
      
      * [cli] submit extrinsic skeleton
      
      * [cli] submit extrinsic compiles and works?
      
      * [cli] refactor futures
      
      * [cli] extract substrate rpc module
      
      * [cli] Encapsulate rpc calls in struct
      
      * [cli] extract rpc call methods
      
      * [cli] temporarily add patch for client pub/sub
      
      * [cli] generic Hash
      
      * [cli] back to explicit H256
      
      * [cli] update parity-codec
      
      * [cli] add methods to submit and watch, and fetch events
      
      * [cli] update to paritytech jsonrpc repo patch
      
      * [cli] switch to ws transport
      
      * [cli] WIP: return extrinsic result with code hash
      
      * [cli] subscribe to block events
      
      * [cli] use jsonrpc 12.1 rather than crates,io patch
      
      * [cli] add logging for troubleshooting
      
      * [cli] deserialize OpaqueExtrinsic properly, logging for ext hash
      
      * [cli] still trying to get the Events for the block
      
      * [cli] log events storage key for debugging
      
      * [cli] refactor: function to extract extrinsic events
      
      * [cli] move extract code hash to deploy
      
      * ignore rust-toolchain file used for local builds
      
      * Update to new extrinsic format with extra
      
      * Fix signature with extra
      
      * Make System Events subscription work
      
      * Refactor EventRecord decoding
      
      * Extract code hash from events
      
      * rustfmt
      
      * Refactor: extract functions from Author
      
      * Remove stuff from .gitignore which could go in .git/info/exclude
      
      * Remove ws::connect unwraps
      
      * Pass in url from cli flag
      
      * Combine all rpc interfaces
      
      * Consistency in log messages
      
      * Expand short arg names
      
      * rustfmt
      
      * Comments and refactoring
      
      * rustfmt
      
      * Pass in secret in from command line
      
      * Change default url to ws
      
      * Add integration test (not passing yet) for deploy command
      
      * Extracted substrate extrinsic RPC to subxt
      
      * Get it working with subxt
      
      * [cli] update to latest subxt
      
      * [cli] convert to new subxt
      
      * [cli] add CheckVersion to SignedExtra type
      
      * Use latest version of subxt with dynamic events
      
      * [cli] cargo fmt
      
      * [cli] deploy: remove dependency on node-runtime!
      
      * [cli] use assert_matches in test
      
      * [cli] reuse crate metadata fn from build command to get wasm path
      
      * [cli] add comments
      
      * [cli] remove unused dependencies
      
      * [cli] remove more unused dependencies
      
      * [cli] Use static method
      
      * [cli] doc comments
      
      * [cli] rename surl -> suri
      
      * [cli] move Runtime defintion to subxt, reduce direct substrate deps
      
      * [cli] rustfmt
      e5d03264
    • Denis_P's avatar
      Merge pull request #196 from paritytech/create_ci · 89dca458
      Denis_P authored
      Gitlab CI
      89dca458
    • Denis_P's avatar
      CI is ready · 0613c044
      Denis_P authored
      0613c044
    • Denis_P's avatar
      Merge branch 'master' into create_ci · 7a655e55
      Denis_P authored
      7a655e55
    • Hero Bird's avatar
      Implementation of ink_env 2.0 (#195) · 4107f98d
      Hero Bird authored
      * [core] initial implementation of new env module
      
      * [core] add SRML implementations for some more Env trait methods
      
      * [core] replace SmallVec with Vec since it isn't ready yet
      
      * [core] add license header to ret_code.rs
      
      * [core] take generic buffer params &mut instead of by value
      
      * [core] add implementation of create_contract for SRML env
      
      * [core] remove unused SmallVec imports
      
      * [core] implement deposit_event for SRML contracts env
      
      * [core] implement invoke_runtime for SRML contract env
      
      * [core] adjust invoke_runtime at trait level
      
      * [core] implement restore_to for SRML contracts env
      
      * [core] fix minor warnings and formatting issues
      
      * [core] refactoring and clean ups
      
      Output is no longer a contract property since it was too hard to make it work properly and efficiently.
      
      * [core] add initial version of EnvAccess
      
      * [core] add runtime checks to EnvAccess for input and output
      
      * [core] GetProperty and SetProperty no longer return Result
      
      * [core] introduce macro to remove some duplicate code in EnvAccess
      
      * [core] make buffer always the first argument in Env
      
      * [core] some minor clean ups
      
      * [core] implement {get,set,clear}_contract_storage for EnvAccess
      
      * [core] make assert_not_yet_returned and set_has_interacted private fns
      
      * [core] implement EnvAccess::random
      
      * [core] implement EnvAccess::println
      
      * [core] implement EnvAccess::{invoke_contract, eval_contract, create_contract}
      
      * [core] refactor module imports and exports
      
      * [core] add DynEnv utility
      
      * [core] move EnvAccess{Mut} into their own sub-module
      
      * [core] improve docs and add docs where they were missing
      
      * [core] add Default impl for EnvAccess
      
      * [core] add DynEnv
      
      * [core] greatly improve module docs
      
      * [core] remove some warning-errors that were too strict
      
      * [core] introduce initial implementation of test env
      
      * [core] initial Storage implementation for TestEnv
      
      * [core] improve module documentation
      
      * [core] continue implementation of TestEnv
      
      * [core] improve byte_utils docs for negate_bytes
      
      * [core] add new DefaultSrmlTypes implementation
      
      * [core] continue initial TestEnv implementation
      
      * [core] add TypedEncoded utility that we might use in TestEnvInstance
      
      * [core] enhance TypedEncoded utility
      
      * [core] add Debug impl for Storage and Entry
      
      * [core] implement the TestEnvInstance part of TestEnv
      
      This is the part that actually holds the data in a generic fashion and is controlled later on by the TestEnv through thread_local storage.
      
      * [core] remove unnecessary imports
      
      * [core] remove unnecessary derive impls for some marker types
      
      * [core] greatly improve doc comment of TestEnvInstance
      
      * [core] implement Clone, PartialEq, Eq and Hash for any TypedEncoded<M>
      
      * [ci] update Travis CI rust version: nightly-2019-08-30 -> nightly-2019-09-25
      
      * [core] include TestEnv or SrmlEnv conditionally exclusively
      
      * [core] apply rust fmt
      
      * [core] use Input::remaining_len to optimize scale::Decode impl for CallData
      
      * [core] align usage of PhantomData
      
      * [core] resolve call/create TODOs
      
      * [core] fix minor doc issues
      
      * [core] add a note to Env::println to make users aware of it being a debug utility
      
      * [core] apply rust fmt
      
      * [core] add Debug impl to Storage and Entry
      
      * [core] add PartialOrd and Ord impl to TypedEncoded
      
      * [core] split TestEnv TypedEncoded types into their own module
      
      * [core] add an account database for the TestEnv
      
      * [core] move impl_get_property_for next to its macro definition
      
      * [core] enhance test::AccountsDb
      
      * [core] make fields in TestEnvInstance pub
      
      * [core] fix some mod re-exports
      
      * [core] improve AccountsDb get and get_mut interface
      
      * [core] add TypedEncoded::{assign, try_assign} methods
      
      * [core] add 'static to all EnvTypes associated types
      
      * [core] add initial implementation of accessor for TestEnvInstance
      
      * [core] rename some fields in instance.rs
      
      * [core] implement the rest of the properties getters and setters for TestEnv
      
      * [core] move Input property getter into macro
      
      * [core] add initial stubs for Env impl of TestEnv
      
      * [core] slightly improve property getters
      
      * [core] implement Env::get_contract_storage for TestEnv
      
      * [ci] update nightly-2019-09-25 -> nightly-2019-10-03
      
      * [core] improve Storage::write by using Entry API
      
      * [core] silence warning of unused buffer in Env impl for TestEnv
      
      * [core] implement Env::set_contract_storage for TestEnv
      
      * [core] impl Env::clear_contract_storage for TestEnv
      
      * [core] add dev-comments for implementations of many Env methods for TestEnv
      
      These need some explanation since they partly contradict the off-chain nature of the TestEnv.
      
      * [core] implement Env::random for TestEnv
      
      * [core] improve dev-comment for Env::create_contract
      
      * [core] implement Env::output for TestEnv
      
      * [core] add AccountIdGen to TestEnvInstance
      
      * [core] add records to test environment module
      
      Used for later use in recording implementations of Env for TestEnv.
      
      * [core] apply rustfmt
      
      * [core] fix some warnings
      
      * [core] add constructors for records
      
      * [core] make record constructors pub
      
      * [core] apply rustfmt
      
      * [core] implement Env::{invoke_contract, eval_contract} for TestEnv
      
      * [core] implement restoration and runtime invokation records
      
      * [core] implement Env::{emit_event, invoke_runtime, restore_to} for TestEnv
      
      * [core] implement AccountsDb::insert
      
      * [core] implement Env::create_contract for TestEnv
      
      * [core] add doc-comment for test environment module
      
      * [core] fix copy/paste error in accessor.rs
      
      * [core] add initialization routines to TestEnvInstance
      
      * [core] make use of TypedEncoded in record.rs
      
      * [core] re-export concrete Env impls as EnvImpl
      
      * [core] make most of the test environment definitions publicly visible
      
      * [core] apply rustfmt
      
      * [core] fix 2 compile errors in no_std mode
      
      * [core] add doc-comments to all test sub-modules
      
      * [core] add doc-comments to EnvImpl type alias
      
      * [core] add initial implementation of TestEnv::try_initialize
      
      * [core] add dev-notes to SrmlEnv
      
      * [ci] update travis nightly usage nightly-2019-10-03 -> nightly-2019-10-04
      4107f98d
  15. 03 Oct, 2019 2 commits
  16. 02 Oct, 2019 5 commits