JS API Reference

Class: ResourceRental

resource-rental/resource-rental.ResourceRental

Combines an agreement, activity, exe unit and payment process into a single high-level abstraction.

Table of contents

Constructors

Properties

Methods

Constructors

constructor

• new ResourceRental(agreement, storageProvider, paymentProcess, marketModule, activityModule, logger, resourceRentalOptions?): ResourceRental

Parameters

NameType
agreementAgreement
storageProviderStorageProvider
paymentProcessAgreementPaymentProcess
marketModuleMarketModule
activityModuleActivityModule
loggerLogger
resourceRentalOptions?ResourceRentalOptions

Returns

ResourceRental

Defined in

src/resource-rental/resource-rental.ts:45

Properties

events

• Readonly events: EventEmitter<ResourceRentalEvents, any>

Defined in

src/resource-rental/resource-rental.ts:37


networkNode

• Optional Readonly networkNode: NetworkNode

Defined in

src/resource-rental/resource-rental.ts:38


agreement

• Readonly agreement: Agreement

Defined in

src/resource-rental/resource-rental.ts:46

Methods

stopAndFinalize

▸ stopAndFinalize(signalOrTimeout?): Promise<void>

Terminates the activity and agreement (stopping any ongoing work) and finalizes the payment process. Resolves when the rental will be fully terminated and all pending business operations finalized. If the rental is already finalized, it will resolve immediately.

Parameters

NameTypeDescription
signalOrTimeout?number | AbortSignaltimeout in milliseconds or an AbortSignal that will be used to cancel the finalization process, especially the payment process. Please note that canceling the payment process may fail to comply with the terms of the agreement. If this method is called multiple times, it will return the same promise, ignoring the signal or timeout.

Returns

Promise<void>

Defined in

src/resource-rental/resource-rental.ts:107


hasActivity

▸ hasActivity(): boolean

Returns

boolean

Defined in

src/resource-rental/resource-rental.ts:117


getExeUnit

▸ getExeUnit(signalOrTimeout?): Promise<ExeUnit>

Creates an activity on the Provider, and returns a exe-unit that can be used to operate within the activity

Parameters

NameTypeDescription
signalOrTimeout?number | AbortSignaltimeout in milliseconds or an AbortSignal that will be used to cancel the exe-unit request, especially when the exe-unit is in the process of starting, deploying and preparing the environment (including setup function)

Returns

Promise<ExeUnit>

Defined in

src/resource-rental/resource-rental.ts:126


destroyExeUnit

▸ destroyExeUnit(): Promise<void>

Destroy previously created exe-unit. Please note that if ResourceRental is left without ExeUnit for some time (default 90s) the provider will terminate the Agreement and ResourceRental will be unuseble

Returns

Promise<void>

Defined in

src/resource-rental/resource-rental.ts:152


fetchAgreementState

▸ fetchAgreementState(): Promise<"Proposal" | "Pending" | "Cancelled" | "Rejected" | "Approved" | "Expired" | "Terminated">

Returns

Promise<"Proposal" | "Pending" | "Cancelled" | "Rejected" | "Approved" | "Expired" | "Terminated">

Defined in

src/resource-rental/resource-rental.ts:167