Skip to content

Cache configured recipient activity in payment observations - #41

Open
j0sh wants to merge 5 commits into
ja-codex/payment-32-confirmed-contractsfrom
ja-codex/payment-35-recipient-activity
Open

j0sh wants to merge 5 commits into
ja-codex/payment-32-confirmed-contractsfrom
ja-codex/payment-35-recipient-activity

Conversation

@j0sh

@j0sh j0sh commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator

Depends on #40. Merge after that PR.

The existing bounded observer refresh reads activity once for the configured ticket recipient at the observation's canonical block. Challenge, receipt, and readiness use that local result; receipt keeps the activity result attached to its payer-funds observation.

Unavailable activity refuses admission before credit or replay state is published. The recipient remains distinct from the node signing key. This uses the shared observer and fixture without another activity map, worker, or event reducer.

Validation: affected package suites and race checks, vet, and diff checks passed, including warm zero-RPC reads, round boundaries, reorg/replacement recovery, and separate-recipient startup. Reused code/tests retain provenance; no documentation changes.

Closes #35.

Nico Vergauwen and others added 4 commits January 21, 2020 21:41
Source-Repository: https://github.com/livepeer/go-livepeer
Original-Commit: 5bfee8f76a16b61a779c635c68deb379a5612665
Source-Scope: core/orchestrator.go:isActive
The node address might be different than the ticket recipient address
since a node can receive tickets on behalf of another address.

Source-Repository: https://github.com/livepeer/go-livepeer
Original-Commit: 9bfeaee0c2da8cfd57953d9be9acd0d1c8d5a0a4
Source-Scope: core/orchestrator.go:isActive
Source-Repository: https://github.com/livepeer/go-livepeer
Original-Commit: 4d6e27449c06913d75150e7c1a710f1e326835d5
Source-Scope: core/orchestrator.go:isActive
Source-Repository: https://github.com/livepeer/go-livepeer
Original-Commit: 1bdb33454063e35fe34030a60d347a53434732e7
Source-Scope: core/orchestrator.go:isActive
@j0sh
j0sh force-pushed the ja-codex/payment-32-confirmed-contracts branch from 749a706 to 686d1a8 Compare November 4, 2026 00:03
@j0sh
j0sh force-pushed the ja-codex/payment-35-recipient-activity branch from f332e5e to 09046a8 Compare November 4, 2026 00:03
Read the canonical activity predicate once during the existing bounded
refresh. Challenge, receipt, and readiness use that immutable result;
unknown, stale, foreign, and invalidated observations refuse locally.
Keep the ticket recipient distinct from the node key.

The approved scope uses one fixed recipient and canonical confirmation
instead of transplanting upstream event arithmetic or storage.

Provenance: livepeer/go-livepeer core/orchestrator.go and
eth/watchers/orchestratorwatcher_test.go at
597f882cb9f4d42ad8430b0f592afd5929af4a6b, originally by Nico Vergauwen
(activity admission introduced in 5bfee8f76a16b61a779c635c68deb379a5612665).
Per-entry isolation and warm-path tests adapt Mike Zupper
(BlueClawNetwork/livepeer-node PR #1), including
68c7834 and
bbe126e. MIT notices retained.

Retain the scoped go-livepeer source history as an additional
parent. Its original authors, committers, dates, and messages
are preserved; Original-Commit records upstream identities.
This commit owns the Node adaptation and integration.

Source-Repository: https://github.com/livepeer/go-livepeer
Source-Revision: 597f882cb9f4d42ad8430b0f592afd5929af4a6b
Source-History: 7d00675
@j0sh
j0sh force-pushed the ja-codex/payment-35-recipient-activity branch from 09046a8 to 8bed256 Compare November 4, 2026 00:21
@j0sh
j0sh force-pushed the ja-codex/payment-32-confirmed-contracts branch from 686d1a8 to 570314c Compare November 4, 2026 00:21

This branch has not been deployed

No deployments
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.

2 participants