Files
nym/contracts/CHANGELOG.md
2023-08-16 10:31:42 +02:00

7.7 KiB

Changelog

[Unreleased]

[v1.5.0] (2023-08-16)

  • Generate json schema for all used contracts #3693 ([#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)

[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)

[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)

[v1.2.0] (2023-03-21)

  • Fix contracts and nym-api audit findings (#3026)

[v1.1.4] (2023-02-21)

  • Problem 142 (rust-side) ([#3024])

nym-contracts-v1.1.3 (2022-01-25)

Added

  • vesting-contract: GetAccountsPaged and GetAccountsVestingCoinsPaged queries for querying multiple accounts simultaneously (#2791)

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)

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)

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)

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) (#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)