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