Files
pezkuwi-subxt/substrate/frame/contracts/CHANGELOG.md
T
Alexander Theißen d98a3c7942 contracts: Reduce the API surface (#8359)
* contracts: Remove types and storage from the public interface

* contracts: Remove current_schedule() getter

* contracts: Improve documentation

* Update README.md

* Fix integration test
2021-03-24 08:09:19 +00:00

92 lines
3.6 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
The semantic versioning guarantees cover the interface to the substrate runtime which
includes this pallet as a dependency. This module will also add storage migrations whenever
changes require it. Stability with regard to offchain tooling is explicitly excluded from
this guarantee: For example adding a new field to an in-storage data structure will require
changes to frontends to properly display it. However, those changes will still be regarded
as a minor version bump.
The interface provided to smart contracts will adhere to semver with one exception: Even
major version bumps will be backwards compatible with regard to already deployed contracts.
In other words: Upgrading this pallet will not break pre-existing contracts.
## [Unreleased]
### Added
- Make storage and fields of `Schedule` private to the crate.
[1](https://github.com/paritytech/substrate/pull/8359)
- Add new version of `seal_random` which exposes additional information.
[1](https://github.com/paritytech/substrate/pull/8329)
- Add `seal_rent_params` contract callable function.
[1](https://github.com/paritytech/substrate/pull/8231)
## [v3.0.0] 2021-02-25
This version constitutes the first release that brings any stability guarantees (see above).
### Added
- Emit an event when a contract terminates (self-destructs).
[1](https://github.com/paritytech/substrate/pull/8014)
- Charge rent for code stored on the chain in addition to the already existing
rent that is payed for data storage.
[1](https://github.com/paritytech/substrate/pull/7935)
- Allow the runtime to configure per storage item costs in addition
to the already existing per byte costs.
[1](https://github.com/paritytech/substrate/pull/7819)
- Contracts are now deleted lazily so that the user who removes a contract
does not need to pay for the deletion of the contract storage.
[1](https://github.com/paritytech/substrate/pull/7740)
- Allow runtime authors to define chain extensions in order to provide custom
functionality to contracts.
[1](https://github.com/paritytech/substrate/pull/7548)
[2](https://github.com/paritytech/substrate/pull/8003)
- Proper weights which are fully automated by benchmarking.
[1](https://github.com/paritytech/substrate/pull/6715)
[2](https://github.com/paritytech/substrate/pull/7017)
[3](https://github.com/paritytech/substrate/pull/7361)
### Changes
- Collect the rent for one block during instantiation.
[1](https://github.com/paritytech/substrate/pull/7847)
- Instantiation takes a `salt` argument to allow for easier instantion of the
same code by the same sender.
[1](https://github.com/paritytech/substrate/pull/7482)
- Improve the information returned by the `contracts_call` RPC.
[1](https://github.com/paritytech/substrate/pull/7468)
- Simplify the node configuration necessary to add this module.
[1](https://github.com/paritytech/substrate/pull/7409)
### Fixed
- Consider the code size of a contract in the weight that is charged for
loading a contract from storage.
[1](https://github.com/paritytech/substrate/pull/8086)
- Fix possible overflow in storage size calculation
[1](https://github.com/paritytech/substrate/pull/7885)
- Cap the surcharge reward that can be claimed.
[1](https://github.com/paritytech/substrate/pull/7870)
- Fix a possible DoS vector where contracts could allocate too large buffers.
[1](https://github.com/paritytech/substrate/pull/7818)