Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

release v 1.1 #67

Open
wants to merge 401 commits into
base: master
Choose a base branch
from
Open

release v 1.1 #67

wants to merge 401 commits into from

Conversation

bulbozaur
Copy link
Contributor

@bulbozaur bulbozaur commented Apr 30, 2024

Overview

This pull request introduces features for payments and node operators registry management.

Generalized payments with limit

Plug-in factories for Easy Track to be used by the Lido DAO committees with intrusive on-chain enforcement of periodically spendable limits.
Contracts based on the existing RewardPrograms set (RewardProgramsRegistry, AddRewardProgram, RemoveRewardProgram, TopUpRewardProgram) have the following differences from the existing ones:

  • The term "RewardProgram" was substituted for a more general "AllowedRecipient",
  • AllowedRecipientsRegistry (ex-RewardProgramsRegistry) stores and manages limits,
  • TopUpAllowedRecipients (ex-TopUpRewardProgram) can check if the payment satisfies the balance for the current period on motion creating and enaction.

AllowedRecipientsBuilder - provide ability to deploy payments setup with checks
AllowedRecipientsFactory - Factory for pauments related contracts
AllowedRecipientsRegistry - Registry of recipients and limits
AddAllowedRecipient - creates EVMScript to add recipient from registry
RemoveAllowedRecipient - creates EVMScript to remove recipient from registry
TopUpAllowedRecipients - creates EVMScript to transfer ERC-20 token to recipient
LimitsChecker - stores limits params and provides limit-enforcement logic
ADR LIP-18 Audit

Factories set for node operators registry management

This bench of EasyTrack EVM factories to manage an instance of the Simple DVT NodeOperatorsRegistry. The high-view overview of the management flow is presented in the below diagram.
image
ActivateNodeOperators - creates EVMScript to activate several node operators
AddNodeOperators - creates EVMScript to add a new batch of node operators
DeactivateNodeOperators - creates EVMScript to deactivate several node operators
ChangeNodeOperatorManagers - creates EVMScript to change signing keys manager for several node operators
IncreaseVettedValidatorsLimit - creates EVMScript to increase the staking limit for a node operator
SetNodeOperatorNames - creates EVMScript to set the name of several node operators
SetNodeOperatorRewardAddresses - creates EVMScript to set the reward address of several node operators
SetVettedValidatorsLimits - creates EVMScript to set the staking limit for node operators
UpdateTargetValidatorLimits - creates EVMScript to set the node operator's target validators limit
Specification Audit

Utils

  • Holesky testnet support
  • Slither checker for CI
  • Bash bytecode verificator
  • Bytecode diff checker
  • Dependencies update
  • Black linter

rkolpakov and others added 30 commits October 14, 2022 12:55
- test_top_up_motion_ended_and_enacted_in_next_period
- test_top_up_spendable_renewal_if_period_duration_changed
- test_spendable_amount_renewal_if_period_duration_changed
…rrectly ans fails to create evm script if sum exceeds limit
- also fixes during review
- also add 2 unresolved yet TODOs related to date-time
…ime-lib

feat: add property-based tests for date-time lib
vgorkavenko and others added 30 commits May 24, 2024 11:39
* feat: deploy script

* feat: acceptance deploy script
Co-authored-by: Eugene Mamin <TheDZhon@gmail.com>
…-improvements

Deploy script for updateTargetValidatorLimits
…nto feature/extra-nor-factories-vebo-improvements
…nto feature/extra-nor-factories-vebo-improvements
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.