Skip to content

Latest commit

 

History

History
165 lines (128 loc) · 6.5 KB

File metadata and controls

165 lines (128 loc) · 6.5 KB

human_protocol_sdk.escrow.escrow_utils module

Utility class for escrow-related operations.

Code Example

from human_protocol_sdk.constants import ChainId
from human_protocol_sdk.escrow import EscrowUtils, EscrowFilter, Status

print(
    EscrowUtils.get_escrows(
        EscrowFilter(
            networks=[ChainId.POLYGON_AMOY],
            status=Status.Pending,
            date_from=datetime.datetime(2023, 5, 8),
            date_to=datetime.datetime(2023, 6, 8),
        )
    )
)

Module

class human_protocol_sdk.escrow.escrow_utils.EscrowData(chain_id, id, address, amount_paid, balance, count, factory_address, launcher, status, token, total_funded_amount, created_at, final_results_url=None, intermediate_results_url=None, manifest_hash=None, manifest=None, recording_oracle=None, reputation_oracle=None, exchange_oracle=None)

Bases: object

__init__(chain_id, id, address, amount_paid, balance, count, factory_address, launcher, status, token, total_funded_amount, created_at, final_results_url=None, intermediate_results_url=None, manifest_hash=None, manifest=None, recording_oracle=None, reputation_oracle=None, exchange_oracle=None)

Initializes an EscrowData instance.

  • Parameters:
    • chain_id (ChainId) – Chain identifier
    • id (str) – Identifier
    • address (str) – Address
    • amount_paid (int) – Amount paid
    • balance (int) – Balance
    • count (int) – Count
    • factory_address (str) – Factory address
    • launcher (str) – Launcher
    • status (str) – Status
    • token (str) – Token
    • total_funded_amount (int) – Total funded amount
    • created_at (datetime) – Creation date
    • final_results_url (Optional[str]) – URL for final results.
    • intermediate_results_url (Optional[str]) – URL for intermediate results.
    • manifest_hash (Optional[str]) – Manifest hash.
    • manifest (Optional[str]) – Manifest data (JSON/URL).
    • recording_oracle (Optional[str]) – Recording Oracle address.
    • reputation_oracle (Optional[str]) – Reputation Oracle address.
    • exchange_oracle (Optional[str]) – Exchange Oracle address.

class human_protocol_sdk.escrow.escrow_utils.EscrowUtils

Bases: object

A utility class that provides additional escrow-related functionalities.

static get_escrow(chain_id, escrow_address)

Returns the escrow for a given address.

  • Parameters:
    • chain_id (ChainId) – Network in which the escrow has been deployed
    • escrow_address (str) – Address of the escrow
  • Return type: Optional[EscrowData]
  • Returns: Escrow data
  • Example:
    from human_protocol_sdk.constants import ChainId
    from human_protocol_sdk.escrow import EscrowUtils
    
    print(
        EscrowUtils.get_escrow(
            ChainId.POLYGON_AMOY,
            "0x1234567890123456789012345678901234567890"
        )
    )

static get_escrows(filter)

Get an array of escrow addresses based on the specified filter parameters.

  • Parameters: filter (EscrowFilter) – Object containing all the necessary parameters to filter
  • Return type: List[EscrowData]
  • Returns: List of escrows
  • Example:
    from human_protocol_sdk.constants import ChainId
    from human_protocol_sdk.escrow import EscrowUtils, EscrowFilter, Status
    
    print(
        EscrowUtils.get_escrows(
            EscrowFilter(
                networks=[ChainId.POLYGON_AMOY],
                status=Status.Pending,
                date_from=datetime.datetime(2023, 5, 8),
                date_to=datetime.datetime(2023, 6, 8),
            )
        )
    )

static get_payouts(filter)

Fetch payouts from the subgraph based on the provided filter.

  • Parameters: filter (PayoutFilter) – Object containing all the necessary parameters to filter payouts.
  • Return List[Payout]: List of payouts matching the query parameters.
  • Raises: EscrowClientError – If an unsupported chain ID or invalid addresses are provided.
  • Return type: List[Payout]

static get_status_events(filter)

Retrieve status events for specified networks and statuses within a date range.

  • Parameters: filter (StatusEventFilter) – Object containing all the necessary parameters to filter status events.
  • Return List[StatusEvent]: List of status events matching the query parameters.
  • Raises: EscrowClientError – If an unsupported chain ID or invalid launcher address is provided.
  • Return type: List[StatusEvent]

class human_protocol_sdk.escrow.escrow_utils.Payout(id, escrow_address, recipient, amount, created_at)

Bases: object

Initializes a Payout instance.

  • Parameters:
    • id (str) – The id of the payout.
    • chain_id – The chain identifier where the payout occurred.
    • escrow_address (str) – The address of the escrow that executed the payout.
    • recipient (str) – The address of the recipient.
    • amount (int) – The amount of the payout.
    • created_at (int) – The time of creation of the payout.

__init__(id, escrow_address, recipient, amount, created_at)

class human_protocol_sdk.escrow.escrow_utils.StatusEvent(timestamp, status, chain_id, escrow_address)

Bases: object

Initializes a StatusEvent instance.

  • Parameters:
    • timestamp (int) – The timestamp of the event.
    • status (str) – The status of the escrow.
    • chain_id (ChainId) – The chain identifier where the event occurred.
    • escrow_address (str) – The address of the escrow.

__init__(timestamp, status, chain_id, escrow_address)