Skip to content

Conversation

@kyzooghost
Copy link
Contributor

@kyzooghost kyzooghost commented Oct 20, 2025

This PR implements issue(s) #

Checklist

  • I wrote new tests for my new core changes.
  • I have successfully ran tests, style checker and build against my new changes locally.
  • I have informed the team of any breaking changes if there are any.

Note

Introduces the Native Yield Automation Service and a new shared utils library, refactors Postman to use shared logging/metrics/API, and adds blockchain clients, retry/metrics plumbing, and extensive tests.

  • Native Yield Automation Service (native-yield-operations/automation-service):
    • Add operation mode selector and processors (yield reporting, ossification pending/complete) with metrics and retry handling.
    • Implement contract clients (YieldManager, VaultHub, LineaRollupYieldExtension, LazyOracle) and related ABIs/entities.
    • Define core interfaces (clients, services, metrics), GraphQL helper, and comprehensive unit tests.
  • Shared Utils (ts-libs/linea-shared-utils):
    • Add ExpressApiApplication, WinstonLogger, SingletonMetricsService, ExponentialBackoffRetryService.
    • Implement blockchain/OAuth clients: ViemBlockchainClientAdapter, ViemWalletSignerClientAdapter, Web3SignerClientAdapter, BeaconNodeApiClient, OAuth2TokenClient.
    • Provide common constants and utilities (blockchain, time, maths, errors) with tests and build config.
  • Postman:
    • Replace local API/logger with shared ExpressApiApplication and WinstonLogger; add PostmanMetricsService.
    • Update metrics updaters, service wiring, tests, and Dockerfile to include shared utils.
  • Repo/Build:
    • Update workspace and lockfile; add dependencies and tsconfigs; numerous new unit tests across modules.

Written by Cursor Bugbot for commit 637a281. This will update automatically on new commits. Configure here.

…ubmit latest vault report and unconditionally proceed to report yield
… submission

- Add SHOULD_SUBMIT_VAULT_REPORT boolean config variable to config schema
- Update config transformation to include shouldSubmitVaultReport
- Modify YieldReportingProcessor to conditionally submit vault reports
- Modify OssificationPendingProcessor to conditionally submit vault reports
- Skip getLatestSubmitVaultReportParams when submission is disabled
- Update bootstrap to pass config to both processors
- Add comprehensive tests for new behavior
- Add YIELD_REPORT_POSITIVE_YIELD_THRESHOLD_WEI config variable
- Add YIELD_REPORT_LIDO_PROTOCOL_FEE_THRESHOLD_WEI config variable
- Both configs accept string/number/bigint and coerce to bigint
- Both configs validate non-negative values
- Update config transformation to include new fields
- Update all test files to include new config variables
- Add comprehensive documentation explaining OR logic between thresholds
jonesho pushed a commit that referenced this pull request Nov 24, 2025
* update version and changelog
@Consensys Consensys deleted a comment from cursor bot Nov 24, 2025
@Consensys Consensys deleted a comment from cursor bot Nov 24, 2025
publicKey: v.publicKey,
validatorIndex: v.validatorIndex,
pendingWithdrawalAmount: pendingAmount,
withdrawableAmount: safeSub(safeSub(v.balance, pendingAmount), ONE_GWEI * 32n),
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added comment - // N.B We expect amounts from GraphQL API and Beacon Chain RPC URL to be in gwei units, not wei.

@Consensys Consensys deleted a comment from cursor bot Nov 24, 2025
@Consensys Consensys deleted a comment from cursor bot Nov 24, 2025
- Apply null coalescing before type assertion in VaultHubContractClient
- Remove redundant type assertions and null checks
- Fix missing newline at end of getNodeOperatorFeesPaidFromTxReceipt
- Simplify return statements by moving default value handling earlier
- name: Build and push postman image
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 #v6.18.0
if: ${{ env.PUSH_IMAGE == 'true' || github.event_name == 'workflow_dispatch' }}
# if: ${{ env.PUSH_IMAGE == 'true' || github.event_name == 'workflow_dispatch' }}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so I can push changes to devnet without merging this PR lol, I put it back to uncommented now

@Consensys Consensys deleted a comment from cursor bot Nov 24, 2025
@kyzooghost kyzooghost merged commit fa21687 into main Nov 24, 2025
37 of 38 checks passed
@kyzooghost kyzooghost deleted the refactor/message-update-services branch November 24, 2025 10:09
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.

4 participants