Tezos Reward Distributor Versions Save

Tezos Reward Distributor (TRD): A reward distribution software for tezos bakers.

v12.0

3 months ago

What's Changed

  • First payments done since v11.0 by @jdsika in #699
  • Update copyright, instructions and version numbers by @jdsika in #698
  • Fix: Use Windows compatible signals by @nicolasochem in #695
  • Feat: Make tzpro_api_key configuration optional by @nicolasochem in #694
  • Fix: Single-shot mode always exiting in error by @nicolasochem in #679
  • Fix: Logger recursion by @nicolasochem in #692
  • Update: Docker image and Python version by @nicolasochem in #693
  • Fix: Twitter plugin to api v2 by @ericlavoie in #691
  • Feat: Record playback tests with API calls by @vkresch in #690
  • Fix: update constants.py by @jdsika in direct commit
  • Fix: Cleanup launch and requirements installation by @jdsika in #686
  • Fix: enum comparisons and fix api key by @vkresch in #688
  • Feat: Migrate tzstats to tzpro by @jdsika in #685
  • Fix: tests_api_consistency by @denver-s in #683

Full Changelog: https://github.com/tezos-reward-distributor-organization/tezos-reward-distributor/compare/v11.1...v12.0

v11.1

9 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/tezos-reward-distributor-organization/tezos-reward-distributor/compare/v11.0...v11.1

v11.0

1 year ago

List of merged pull requests

General remarks: This release is scheduled in accordance with the TRD grant milestone plan as well as the activation of the Lima protocol. Due to high relevance of the topic, you can find instructions here about how TRD can be used to send funds to the community-driven donation contracts for Ukraine or use it as a template to donate to any other address.

Important: This update has been tested on Ghostnet after the Lima protocol has been activated. Nevertheless always be careful after a protocol activation. Wait a few hours until the network has stabilized itself and always do a --dry_run before actually executing payments and check the simulated CSV report. Furthermore, please SHUT DOWN THE TRD LINUX SERVICE BEFORE THE UPGRADE GOES LIVE!

Additional Features:

  • Attention: TZSTATS data provider has been reactivated in #610 . An API feature had been deprecated which has been re-introduced in summer for TRD.
  • Add min_payment_amt configuration option to allow setting minimum payment amount in #613 .
  • Additional option for --dry_run to run with or without signer. See --help.
  • Extended safety check to avoid usage of master branch after 31.03.2023 due to Mumbai transition.

Breaking Changes:

  • Deprecated --dry_run_no_consumers in #631 .

  • Packages are available HERE.

Changes:

  • Fixed a bug for simulation errors for kt accounts regarding uncaught exceptions.
  • Fixed too early disk size warning.
  • Fixed consumed_gas calculation after Kathmandu upgrade.
  • Adjust fee computation logic for Ithaca and Jakarta.
  • Tenderbake compatible.
  • Increased test coverage.
  • Updated python to 3.10.8 .
  • Added pre-commit hooks.
  • Documentation improvements.
  • Code cleanups.

v10.0

2 years ago

List of merged pull requests

General remarks: There have been many changes in the development of the TRD since a new grant was awarded by the Tezos Foundation a couple of months ago. The new milestones are now closely tied to upcoming protocol upgrades. Unfortunately, we see a significant amount of bakers using the tool without dedicating time and resources to it. To maintain the tool the way we do now, we need way more resources and support from its users. The grant is intended to serve as an interim solution for an independent open-source tool in the future. To encourage attraction for code contributions, the hourly wage was increased to $70, and the compensation with tez is done via a multi-sig wallet depending on the effort spent. We would also like to appeal to the bakers, who are still developing their own payout tool to finally bundle the resources. Last but not least, here you can find instructions about how TRD can be used to send funds to the community-driven donation contracts for Ukraine or use it as a template to donate to any other address.

Important: This release serves as a stable release before the Ithaca PR will be merged after the confidence is high enough that there are no severe bugs. This release and the current master branch will automatically shut down after 01.04.2022. We especially need help with testing from the community after the Ithaca upgrade will be live. For testing, please switch to branch "ithaca2" because the master branch will not be able to do payouts on Ithaca. Always use the dry-run option for testing! Furthermore, please SHUT DOWN THE TRD LINUX SERVICE BEFORE THE UPGRADE GOES LIVE!**

Additional Features:

  • Attention: Added safety check to avoid usage of master branch after 01.04.2022 due to Ithaca transition. Switch to branch ithaca2 and carefully test.

  • Breaking: The reward_type estimated is deprecated in #540.

    • You can now payout early by using --release_override -11 and adjust the payouts afterwards to the reward_types actual or ideal

    • Read about the new feature here

    • Introduced new fields in the calculations csv for overestimate, adjusted_amount and adjustment for new feature

      old new
      estimated adjusted_early_payouts
      actual actual
      ideal ideal
  • Potentially Breaking. Created new trd-data folder structure. Before, in rare cases the calculations csv was overwritten.

    • deprecate --reports_base and --config_dir

    • unified --log-file to --log_file

    • introduce --base_directory

    • logs by default in base directory

      # ~/pymnt/
      # └──cfg
      #    └── tz1xx.yaml
      # └──logs
      #    └── verbose_backup
      #    │   └── app_verbose.gz
      #    └── app.log
      #    └── app_verbose.log
      # └──simulations
      #    └── tz1xxx
      #       ├── calculations
      #       │   └── 449.csv
      #       └── payments
      #           ├── done
      #           │   └── 449.csv
      #           └── failed
      #               └── 449.csv
      # └──reports
      #    └── tz1xxx
      #       ├── calculations
      #       │   └── 449.csv
      #       └── payments
      #           ├── done
      #           │   └── 449.csv
      #           └── failed
      #               └── 449.csv
      
  • Payment reporting, see #549 : Important debugging advice:

    • The payments have been correct for all tz accounts
    • kt accounts with burn fees have been incorrect as burn was always subtracted from the delegator (edge case)
    • kt burn fee is now also controlled by delegator_pays_ra_fee configuration
    • Reported overall payout amount has been incorrect and is fixed
    • Added simulated transaction fees into the calculations report csv: delegate_transaction_fee and delegator_transaction_fee
    • Added description field with error messages in payment csv for unsuccessful transactions
    • payment_logs had missing items regarding items with the status AVOIDED
    • payments that are below zero_threshold are now set to status DONE according to the definition
    • Using user friendly enum names for the payment status now
    • Changed all occurrences of XTZ and tez to mutez properly as formatted int( ) for consistency
  • Plugin for Discord available

  • Support all Tezos curves now

  • Packages now available HERE

Changes:

  • TRD checks disk size to avoid double payments when running out of space
  • Improved --helpsection
  • Using black formatting now
  • Reduced Docker size
  • Fixed versioning for docker images on DockerHub
  • Optimization/corrections of fees, gas limits to avoid failed payments
  • Unit testing has been increased
  • Improved logging
  • Exception handling and robustness has been increased
  • Documentation improvements
  • A lot of code cleanups
  • Fixed several bugs (see PR list)

v9.0

2 years ago

List of merged pull requests

Here is a link to the Agora post explaining the changes in more detail.

Additional Features:

  • Breaking: New reward_type ideal introducing payouts like Backerei. Old ideal has been renamed to estimated. The discussion in #415.

    old new
    ideal estimated
    actual actual
    ideal
  • Payment reporting: Important debugging advice:

    • New payment status: skipped
    • e.g. liquidated ovens are skipped
    • Payments to kt1 accounts are skipped if fee > payment_amount as a precaution and marked as skipped
    • Consider redirecting kt1 payments to the entitled tz1 address through the configuration
    • Done and failed payouts are now split into two files
  • Docker images now available HERE

  • Optimization of fees, gas limits and batch sizes ordered by transaction type (tz, kt)

  • frozen rewards can now be payed out using RPC

  • Log archives are using gzip now

Changes:

  • Major: Introduction of a finite state machine, FSM to increase application safety and prepare storing application states for program recovery
  • Breaking: -C --initial_cycle has now a default value of -1 meaning start at last unfrozen cycle and now only allows ""positive cycle values**
  • Breaking: -R --release_override is now restricted to [-11,0]
  • Breaking: -M --run_mode 4 does honor the -C parameter and runs all failed payments by default
  • Breaking: fee.ini has been removed
  • Bug: tzkt is not paying out accusation rewards. Rationale: The option will be configurable in the future and now in most cases bakers return it due to honest mistakes
  • Resolved issue when payments resulted in an invalid branch error
  • Unit testing has been increased
  • Improved logging
  • Exception handling and robustness has been increased
  • Documentation improvements
  • Using gh-actions now
  • Fixed several bugs (see PR list)

Findings

  • When using ideal: Tzkt counts missed baking fees, but because it also counts the missed block reward more accurately, it can end up lower than tzstats. Therefore, we currently encourage users when using ideal, to use tzkt. We will reach out to the tzstats team.

v8.5

3 years ago

List of merged pull requests

Here is a link to the Agora post explaining the changes in more detail.

Additional Features:

  • Payouts to Kt1 accounts with default entry points. Important debugging advice:
    • Payouts will fail if the needed fees are too high
    • The value is currently hard coded as a safety switch in order to protect bakers from being drained by too complex contracts
    • The fee will be configurable in v9.0
    • Investigate failed transactions with the baking bad explorer
    • Check if the contract has a default entry point
  • Individual fees for Dexter LPs
  • Payout Ideal Rewards
  • Admin messages in plugin system

Changes:

  • Major: Removal of the (ocaml) tezos-client binary as a dependency
  • Breaking: Aliases in the configuration are not supported anymore due to the removal of the tezos-client
  • Breaking: Use the tezos-signer in http mode ./tezos-signer launch http signer
  • Unit testing has been increased
  • Improved logging
  • Exception handling and robustness has been increased
  • Ask user for permission to install dependencies
  • Fixed bug leading to multiple transactions which should have been batched using redirect
  • Fixed several bugs (see PR list)

v8.1

3 years ago

List of merged pull requests

Documentation:

  • CRITICAL BUG FIX: A bug leading to missing payouts with PRPC has been fixed (see #321)
  • Contributors list is now easier to read
  • Unit testing has been increased, Pytest and flake8 has been introduced
  • Reworked logging mechanism
  • Exception handling and robustness has been increased

Features:

  • BREAKING CHANGE: Logging and verbose logging has been improved for easier bug reporting, option: -V need argument {on;off}
  • Package dependencies are automatically installed (introduced due to customer feedback)

v8.0

3 years ago

List of merged pull requests

Documentation:

  • Added better example configuration example
  • Added explanation on how to support Dexter

Features:

  • Added Dexter liquidity pool payout support
  • Added plugin system to use TRD with: email, twitter, webhook, telegram
  • Frozen rewards now payable with TzKt
  • Code cleanups and increased robustness in edge cases
  • More consistent logging
  • Fixed several bugs and made improvements (sort PRs by label for more information)

v7.0

3 years ago

List of merged pull requests

Documentation:

  • Added guidelines for the contribution in the context of the TRD grant
  • Added list of payments for contributors
  • Improved README and documentation

Features:

  • Improved tzstats provider by up to 50x
  • Added TzKT as additional provider
  • Added new run mode for retrying payments
  • Check balance and warn user in case of insufficient funds (also by email)
  • Automatically retry payments in unattended mode
  • Extended tests for unattended mode
  • Allow deleting lock file at runtime
  • Anonymous statistics work again - see documenation
  • Improved error messages and introduced several pre-checks
  • Fixed several bugs and made improvements (sort PRs by label for more information)

v6.1

4 years ago

This version has been tested on the Carthage mainnet. It is not a full release as there is no feature increase.