Skip to content
This repository has been archived by the owner on Nov 9, 2023. It is now read-only.

Latest commit

 

History

History
326 lines (273 loc) · 11.7 KB

CHANGELOG.md

File metadata and controls

326 lines (273 loc) · 11.7 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Added

  • Add NetworkState::store #319
  • Add NetworkState::builder #319
  • Add Default implementation for NetworkState #319
  • Add NetworkStateBuilder #319
  • Introduce lang items as in dusk-abi #374
  • Add HostCosts config structure #205
  • Add NetworkState::with_config for instantiating a VM with the given configuration #304
  • Add NetworkState::config for getting instance configuration #304
  • Add Config and OpCosts structs #304
  • Enable reading the state root #265
  • Add staged state in addition to the existing head and origin #302
  • Add unstage method to remove changes from staged #302
  • Add push method to push the committed changes to origin #302
  • Add exhaust method to GasMeter #308
  • Add a private update method to GasMeter #308
  • Add Instance field to StackFrame #308
  • Add CallContext::top_mut() #308
  • Add new CallContext::gas_meter method in ops module

Changed

  • Make put host call charge gas per byte #323
  • Change NetworkState::persist to require no arguments #319
  • Change NetworkState::new to require no arguments #319
  • Change NetworkState::transact to return both a receipt and the resulting state #357
  • Change NetworkState::transact and NetworkState::query to take immutable receivers #357
  • Change host functions to charge their cost according to config #205
  • Change Config to include host_costs #205
  • Change persistence to include configuration hash #304
  • Refactor configuration to be a static Config per instance #304
  • Place both Contract::state and Contract::code behind microkelvin::Link #333
  • Change commit method to commit the changes from staged to head #302
  • Change register_host_module to be an associated function
  • Replace GasMeter::set_left(0) with GasMeter::exhaust() #308
  • Change CallContext::gas_meter() to update the gas meter before return it #308

Removed

  • Remove NetworkState::restore_from_disk and NetworkState::restore #319
  • Remove NetworkState::persist_to_disk #319
  • Remove NetworkState::with_config #319
  • Remove NetworkStateId #319
  • Remove state management from NetworkState #357
  • Remove NetworkState::with_schedule #304
  • Remove ModuleConfig and NetworkState::get_module_config #304
  • Remove Schedule as configuration structure #304
  • Remove set_left method from GasMeter #308
  • Remove legacy gas host function
  • Remove CallContext::gas_meter_mut() #308
  • Remove Gas host function implementation from ops module

[0.9.0] - 2022-02-02

Added

  • Add NetworkStateId structure to handle both origin/head PersistedId
  • Add utility methods to NetworkStateId to save / load from file
  • Add persist module under state

Changed

  • Update rust toolchain
  • Change NetworkState::persist to store both origin/head
  • Change NetworkState::persist() to accept the same type of Persistence::persist()
  • Change NetworkState::restore to restore both origin/head
  • Update integration tests
  • Change the rust toolchain

Removed

  • Remove host modules from Rusk-VM's instances

Fixed

  • Fix minor nits on tests

[0.7.0] - 2022-01-19

Added

  • Add capability of reading the state root #265
  • Add log tracing for easier debugging #83
  • Add support for transaction rollbacks #263
  • Add cache for wasmer modules #251
  • Add wasmer instrumentation #247
  • Add CHANGELOG #236
  • Add persistence test to stack contract #201
  • Add deploy_with_id method to NetworkState #210

Changed

  • Wrap NetworkState::modules in HostModules struct #270
  • Port from wasmi to wasmer #245
  • Update dependencies

Removed

  • Remove block_height from NetworkState #269
  • Remove Rust toolchain overrides from CI #229
  • Remove set_block_height from NetworkState #203

Fixed

  • Fix running tests with wasmer #248

0.6.1 - 2021-07-08

Added

  • Add method to mutate NetworkState bloch_height #197

Changed

  • Make persistence its own feature (was default feature) #195

0.6.0 - 2021-07-06

Added

  • Add tests caller, callee-1 and callee-2 for dusk-abi::caller #185
  • Add gas_consumed host function #174
  • Add gas_left host function
  • Add instrumentation of Wasm byte-code at deploy time #115, #116, see also #174
  • Add rust toolchain
  • Add benchmark for stack contract #184
  • Add Persistence API for rusk-vm NetworkState #191
  • Add tests for persistence

Changed

  • Update dependencies
  • Update README
  • Change restore signature to take self ownership

Fixed

  • Fix overflow in fibonacci contract

0.5.1 - 2021-03-12

Added

  • Add TxVec test case to check transaction of several KiBs

Changed

  • Update dusk-abi from v0.6 to v0.7
  • Change the tests contracts approach to be simpler
  • Change transact to store the contract's state before and after

0.5.0 - 2021-03-01

Added

  • Add a scoped state for contract's execution #163

Changed

  • Change get_contract_state to get_contract_cast_state
  • Add proper error handling where it was still missing
  • Update dusk-abi to v0.6

0.4.0 - 2021-02-22

Added

  • Add get_contract_state to NetworkState
  • Add support for Module trait

Changed

  • Rename hash contract to bloch_height
  • Update dependencies

Removed

  • Remove Poseidon Hash from Rusk VM
  • Remove verify_proof as host function from rusk-vm
  • Remove dusk-abi directory (it's been added as standalone crate)

0.3.1 - 2021-02-17

Added

  • Add ProofVerification ABICall

Changed

  • Update dependencies to latest versions
  • Update tests to new rusk-profile API

Fixed

  • Fix execute_circuit const-generic Capacity
  • Fix rusk tags
  • Fix rusk-profile key obtainment failure

0.3.0 - 2021-02-11

Added

Changed

  • Allow contracts to be called by each other
  • Refactor the complete library to support contracts written with canonical data-structures
  • Replace Travis with Github Actions #84
  • Bumb nstack to v0.7 and microkelvin to v0.6

0.2.0 - 2020-04-20

Changed

  • Use https git imports
  • Update README

Removed

  • Remove serde dependencies

Fixed

  • Fix Makefile test

0.1.2 - 2020-04-20

Added

  • Add marco for Serialize/Deserialize implementation
  • Add Makefile and travis integration
  • Add rustup target
  • Add test for Serialize/Deserialize
  • Add benchmark for factorial
  • Add phoenix-abi
  • Add phoenix_store host function
  • Add transfer contract with Approve a TransferFrom functionality
  • Add documentation to public interface
  • Add LICENSE

Changed

  • Change test.sh to make it working on a multiple system / shell
  • Move contracts to 'tests' directory
  • Refactor ABI call
  • Refactor NetworkState
  • Refactor MeteredContract
  • Change contract deploy model
  • Improve WASM generated size #34 #35
  • Update imports to be git-based instead of path-based
  • Move contract call enums out of contract files
  • Update host functions to work with phoenix v2
  • Make Provisioners internals private:
    • Add method to get raw bytes
    • Add method from_bytes
    • Get Provisioners addresses from 'to_bytes'
  • Bump Kelvin imports

Fixed

  • Fix Resolver issues

Removed

  • Remove obsolete transfer function

0.1.1 - 2020-02-12

Added

  • Add README
  • Add 'test_contracts' directory
  • Add tool to print out wat from wasm source
  • Add basic transaction framework
  • Add contract deployment
  • Add contract storage
  • Add implementation for contract calls
  • Add fermion integration
  • Add contract signature verification
  • Add support for storing arbitrary (de)serializable values in contract state
  • Add contract-return implementation
  • Add error handling in host_fns
  • Add OSX specific linker options
  • Add gas-metering
  • Add schedule and stack-height
  • Add Kelvin integration
  • Add NetworkState

0.1.0 - 2019-08-02

  • Initial