Releases: keep-network/keep-common
v1.7.0
v.1.6.0
v1.5.0
This release implements a major refactoring of Ethereum related code to support multi-chain. In this release, we focused on adding support for Celo blockchain.
We also exposed some storage-related functions that were private.
The full set of work that went into the client can be found in the corresponding 1.5.0 milestone.
v1.4.1
This release adjusts Ethereum contracts to use EIP155 signer.
go-ethereum
1.10.0 has switched to denying non-EIP155 signatures by default. This version updates Go contract bindings to use EIP155 signer for all submitted transactions without updating the currently referenced go-ethereum
version.
The full set of work that went into the client can be found in the corresponding 1.4.1 milestone.
v1.4.0
This release implements a major refactoring of Ethereum event subscriptions.
The most important change is the subscription API update allowing installing event callback handler using OnEvent
function as well as piping events from a subscription to a channel with Pipe
function.
Another important change is a background event monitoring loop. Some Ethereum setups are not particularly reliable in delivering events, events can be dropped randomly and event subscribers may not be aware of the fact they were emitted. To address this problem, we introduce a background loop periodically pulling past events from the chain next to a regular watchLogs
subscription. How often events are pulled and how many blocks are taken into account can be configured with SubscribeOpts
parameters. This way, even if the event was lost by watchLogs
subscription, it should be pulled by a background monitoring loop later. An extremely important implication of this change is that handlers should have logic in place allowing them to de-duplicate received events even if a lot of time passed between receiving the original event and the duplicate.
Additionally, the event resubscription mechanism has been tweaked to apply exponential backoff to resubscribe attempts and to log on ERROR level if the event subscription is not stable enough. This change allowed to use a native resubscription mechanism from go-ethereum
and to improve test coverage.
The full set of work that went into the client can be found in the corresponding 1.4.0 milestone.
v1.3.0
- Disk persistence snapshots (#49, #50)
- ETH account balance alerts (#51, #59, #60)
- CLI command generation is optional (#53)
- Increased local nonce trust duration (#54)
- Custom Ethereum client interface (#55)
- Chain confirmation waiter (#56)
- Template function to receive past events (#58)
- Local and Ethereum Signer implementations (#61)
v1.2.0
v1.1.0
v1.0.0
🎉
Common libraries and tools used across Keep repositories. Provides neat features such as:
- Go code generators for Solidity smart contracts.
- Go code generators for command-line Solidity smart contract interaction.
- On-disk encrypted storage.
- Time cache.
- Ethereum nonce manager.