From 955564c688d4bd2c116752a169982a351a247a7e Mon Sep 17 00:00:00 2001 From: Kieran Prasch Date: Fri, 26 Jan 2024 03:14:13 +0100 Subject: [PATCH] exposes paginated view of participants (with transcripts) in coordinator agent. --- nucypher/blockchain/eth/agents.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nucypher/blockchain/eth/agents.py b/nucypher/blockchain/eth/agents.py index d64e4b2ca..0dbeb0a64 100644 --- a/nucypher/blockchain/eth/agents.py +++ b/nucypher/blockchain/eth/agents.py @@ -784,8 +784,14 @@ class CoordinatorAgent(EthereumContractAgent): return result @contract_api(CONTRACT_CALL) - def get_participants(self, ritual_id: int) -> List[Ritual.Participant]: - result = self.contract.functions.getParticipants(ritual_id).call() + def get_participants( + self, ritual_id: int, start: Optional[int] = None, end: Optional[int] = None + ) -> List[Ritual.Participant]: + params = (ritual_id,) + start = start or 0 + if start and end: + params += (start, end) + result = self.contract.functions.getParticipants(*params).call() participants = list() for r in result: participant = self.Ritual.Participant(