154 lines
7.7 KiB
Markdown
154 lines
7.7 KiB
Markdown
# Changelog
|
|
|
|
## [Unreleased]
|
|
|
|
## [v1.5.0] (2023-08-16)
|
|
- Generate json schema for all used contracts #3693 ([#3693])
|
|
|
|
[#3233]: https://github.com/nymtech/nym/pull/3693
|
|
|
|
|
|
## [v1.4.0] (2023-04-25)
|
|
- Allow mixnode operators to decrease their bond amount without having to rebond (will require a lot of testing EXACT reward values to make sure the "unit delegation" isn't broken afterwards) ([#3233])
|
|
- Fix a few clippy warnings in contract test code ([#3340])
|
|
- Add --all-targets to clippy for contracts ([#3337])
|
|
- A branch with all clippy warnings dealt with in contracts ([#3294])
|
|
|
|
[#3233]: https://github.com/nymtech/nym/issues/3233
|
|
[#3340]: https://github.com/nymtech/nym/pull/3340
|
|
[#3337]: https://github.com/nymtech/nym/pull/3337
|
|
[#3294]: https://github.com/nymtech/nym/pull/3294
|
|
|
|
## [v1.3.1] (2023-04-18)
|
|
- Add a query to the vesting contract for the amount of delegated tokens towards a particular `mix_id` (might be needed by NG) ([#3228])
|
|
|
|
[#3228]: https://github.com/nymtech/nym/issues/3228
|
|
|
|
## [v1.3.0] (2023-04-04)
|
|
- change in-contract signatures to include nonces and to sign entire payloads for family-related operations ([#3125])
|
|
- change in-contract signatures to include nonces and to sign entire payloads for node bonding (will require wallet changes) ([#3067])
|
|
- removed migration code from mixnet and vesting contracts ([#3207])
|
|
|
|
[#3125]: https://github.com/nymtech/nym/issues/3125
|
|
[#3067]: https://github.com/nymtech/nym/issues/3067
|
|
[#3207]: https://github.com/nymtech/nym/pull/3207
|
|
|
|
## [v1.2.0] (2023-03-21)
|
|
|
|
- Fix contracts and nym-api audit findings ([#3026])
|
|
|
|
[#3026]: https://github.com/nymtech/nym/issues/3026
|
|
|
|
## [v1.1.4] (2023-02-21)
|
|
|
|
- Problem 142 (rust-side) ([#3024])
|
|
|
|
## [nym-contracts-v1.1.3](https://github.com/nymtech/nym/tree/nym-contracts-v1.1.3) (2022-01-25)
|
|
|
|
### Added
|
|
|
|
- vesting-contract: `GetAccountsPaged` and `GetAccountsVestingCoinsPaged` queries for querying multiple accounts simultaneously ([#2791])
|
|
|
|
[#2791]: https://github.com/nymtech/nym/pull/2791
|
|
|
|
## [nym-contracts-v1.1.2](https://github.com/nymtech/nym/tree/nym-contracts-v1.1.2) (2022-12-07)
|
|
|
|
### Added
|
|
|
|
- Added migration code to the mixnet contract to allow updating stored vesting contract address to make it easier to deploy any future environments ([#1759],[#1769])
|
|
- Added an option to pledge additional tokens without the need to rebond minxode ([#1679])
|
|
- Added support for node families ([#1670])
|
|
|
|
[#1670]: https://github.com/nymtech/nym/pull/1670
|
|
[#1679]: https://github.com/nymtech/nym/pull/1679
|
|
[#1759]: https://github.com/nymtech/nym/pull/1759
|
|
[#1769]: https://github.com/nymtech/nym/pull/1769
|
|
|
|
## [nym-contracts-v1.1.0](https://github.com/nymtech/nym/tree/nym-contracts-v1.1.0) (2022-11-09)
|
|
|
|
### Changed
|
|
- mixnet-contract: rework of rewarding ([#1472]), which includes, but is not limited to:
|
|
- internal reward accounting was modified to be similar to the ideas presented in Cosmos' F1 paper, which results in throughput gains and no storage or gas cost bloat over time,
|
|
- introduced internal queues for pending epoch and interval events that only get resolved once relevant epoch/interval rolls over
|
|
- the contract no longer stores any historical information regarding past epochs/parameters/stake state for the purposes of rewarding
|
|
- a lot of queries got renamed to keep naming more consistent,
|
|
- introduced new utility-based queries such as a query for reward estimation for the current epoch,
|
|
- mixnodes are now identified by a monotonously increasing `mix_id`
|
|
- bonding now results in getting fresh `mix_id` and thus if given node decides to unbond and rebond, it will lose all its delegations,
|
|
- mixnode operators are now allowed to set their operating costs as opposed to having fixed value of 40nym/interval
|
|
- rewarding parameters are now correctly updated at an **interval** end
|
|
- rewarding parameters now include a staking supply scale factor attribute (beta in the tokenomics paper)
|
|
- node performance can now be more granular with internal `Decimal` representation as opposed to an `u8`
|
|
- node profit margin can now be more granular with internal `Decimal` representation as opposed to an `u8`
|
|
- mixnode operators are now allowed to change their configuration options, such as port information, without having to unbond
|
|
- mixnode unbonding is no longer instantaneous, instead it happens once an epoch rolls over
|
|
- it is now possible to query for operator and node history to see how often (and with what parameters) they rebonded
|
|
- other minor bugfixes and changes
|
|
- ...
|
|
- new exciting bugs to find and squash
|
|
|
|
- vesting-contract: optional locked token pledge cap per account ([#1687]), defaults to 10%
|
|
- vesting-contract: updated internal delegation storage due to mixnet contract revamp ([#1472])
|
|
|
|
### Added
|
|
- vesting-contract: added query for obtaining contract build information ([#1726])
|
|
|
|
[#1472]: https://github.com/nymtech/nym/pull/1472
|
|
[#1687]: https://github.com/nymtech/nym/pull/1687
|
|
[#1726]: https://github.com/nymtech/nym/pull/1726
|
|
|
|
|
|
## [nym-contracts-v1.0.2](https://github.com/nymtech/nym/tree/nym-contracts-v1.0.2) (2022-09-13)
|
|
|
|
### Added
|
|
|
|
- vesting-contract: added queries for delegation timestamps and paged query for all vesting delegations in the contract ([#1569])
|
|
|
|
### Changed
|
|
|
|
- mixnet-contract: compounding delegator rewards now happens instantaneously as opposed to having to wait for the current epoch to finish ([#1571])
|
|
|
|
### Fixed
|
|
|
|
- vesting-contract: the contract now correctly stores delegations with their timestamp as opposed to using block height ([#1544])
|
|
- mixnet-contract: compounding delegator rewards is now possible even if the associated mixnode had already unbonded ([#1571])
|
|
- mixnet-contract: fixed reward accumulation after claiming rewards ([#1613])
|
|
|
|
[#1544]: https://github.com/nymtech/nym/pull/1544
|
|
[#1569]: https://github.com/nymtech/nym/pull/1569
|
|
[#1571]: https://github.com/nymtech/nym/pull/1571
|
|
[#1613]: https://github.com/nymtech/nym/pull/1613
|
|
|
|
## [nym-contracts-v1.0.1](https://github.com/nymtech/nym/tree/nym-contracts-v1.0.1) (2022-06-22)
|
|
|
|
### Added
|
|
|
|
- mixnet-contract: Added ClaimOperatorReward and ClaimDelegatorReward messages ([#1292])
|
|
- mixnet-contract: Replace all naked `-` with `saturating_sub`.
|
|
- mixnet-contract: Added staking_supply field to ContractStateParams.
|
|
- mixnet-contract: Added a query to get MixnodeBond by identity key ([#1369]).
|
|
- mixnet-contract: Added a query to get GatewayBond by identity key ([#1369]).
|
|
- vesting-contract: Added ClaimOperatorReward and ClaimDelegatorReward messages ([#1292])
|
|
- vesting-contract: Added limit to the amount of tokens one can pledge ([#1331])
|
|
|
|
### Fixed
|
|
|
|
- mixnet-contract: `estimated_delegator_reward` calculation ([#1284])
|
|
- mixnet-contract: delegator and operator rewards use lambda and sigma instead of lambda_ticked and sigma_ticked ([#1284])
|
|
- mixnet-contract: removed `expect` in `query_delegator_reward` and queries containing invalid proxy address should now return a more human-readable error ([#1257])
|
|
- mixnet-contract: replaced integer division with fixed for performance calculations ([#1284])
|
|
- mixnet-contract: Under certain circumstances nodes could not be unbonded ([#1255](https://github.com/nymtech/nym/issues/1255)) ([#1258])
|
|
- mixnet-contract: Using correct staking supply when distributing rewards. ([#1373])
|
|
- vesting-contract: replaced `checked_sub` with `saturating_sub` to fix the underflow in `get_vesting_tokens` ([#1275])
|
|
|
|
|
|
[#1255]: https://github.com/nymtech/nym/pull/1255
|
|
[#1257]: https://github.com/nymtech/nym/pull/1257
|
|
[#1258]: https://github.com/nymtech/nym/pull/1258
|
|
[#1275]: https://github.com/nymtech/nym/pull/1275
|
|
[#1284]: https://github.com/nymtech/nym/pull/1284
|
|
[#1292]: https://github.com/nymtech/nym/pull/1292
|
|
[#1331]: https://github.com/nymtech/nym/pull/1331
|
|
[#1369]: https://github.com/nymtech/nym/pull/1369
|
|
[#1373]: https://github.com/nymtech/nym/pull/1373
|