Skip to main content
Version: next 🚧

Client

Defined in: index.ts:67

Obol sdk Client can be used for creating, managing and activating distributed validators.

Extends

  • Base

Constructors

Constructor

new Client(config, signer?, provider?): Client

Defined in: index.ts:113

Parameters

ParameterTypeDescription
config{ baseUrl?: string; chainId?: number; }Client configurations
config.baseUrl?stringobol-api url
config.chainId?numberBlockchain network ID
signer?SignerTypeethersJS Signer
provider?ProviderType-

Returns

Client

Obol-SDK Client instance

An example of how to instantiate obol-sdk Client: obolClient

Overrides

Base.constructor

Properties

PropertyModifierTypeDescriptionDefined in
incentivespublicIncentivesThe incentives module, responsible for managing Obol tokens distribution.index.ts:77
exitpublicExitThe exit module, responsible for managing exit validation.index.ts:83
splitspublicObolSplitsThe splits module, responsible for managing splits.index.ts:89
eoapublicEOAThe eoa module, responsible for managing EOA operations.index.ts:95
providerpublicProviderType | null | undefinedThe blockchain provider, used to interact with the network. It can be null, undefined, or a valid provider instance and defaults to the Signer provider if Signer is passed.index.ts:101

Methods

acceptObolLatestTermsAndConditions()

acceptObolLatestTermsAndConditions(): Promise<string>

Defined in: index.ts:143

Accepts Obol terms and conditions to be able to create or update data.

Returns

Promise<string>

terms and conditions acceptance success message.

Throws

On unverified signature or wrong hash.

An example of how to use acceptObolLatestTermsAndConditions: acceptObolLatestTermsAndConditions


createObolRewardsSplit()

createObolRewardsSplit(rewardsSplitPayload): Promise<ClusterValidator>

Defined in: index.ts:198

Deploys OWR and Splitter Proxy.

Parameters

ParameterTypeDescription
rewardsSplitPayloadRewardsSplitPayloadData needed to deploy owr and splitter.

Returns

Promise<ClusterValidator>

owr address as withdrawal address and splitter as fee recipient

An example of how to use createObolRewardsSplit: createObolRewardsSplit

Remarks

⚠️ Important: If you're storing the private key in an .env file, ensure it is securely managed and not pushed to version control.


createObolTotalSplit()

createObolTotalSplit(totalSplitPayload): Promise<ClusterValidator>

Defined in: index.ts:325

Deploys Splitter Proxy.

Parameters

ParameterTypeDescription
totalSplitPayloadTotalSplitPayloadData needed to deploy splitter if it doesnt exist.

Returns

Promise<ClusterValidator>

splitter address as withdrawal address and splitter as fee recipient too

An example of how to use createObolTotalSplit: createObolTotalSplit

Remarks

⚠️ Important: If you're storing the private key in an .env file, ensure it is securely managed and not pushed to version control.


getOWRTranches()

getOWRTranches(owrAddress): Promise<OWRTranches>

Defined in: index.ts:430

Read OWR Tranches.

Parameters

ParameterTypeDescription
owrAddressstringAddress of the Deployed OWR Contract

Returns

Promise<OWRTranches>

owr tranch information about principal and reward reciepient, as well as the principal amount

Remarks

⚠️ Important: If you're storing the private key in an .env file, ensure it is securely managed and not pushed to version control.


createClusterDefinition()

createClusterDefinition(newCluster): Promise<string>

Defined in: index.ts:448

Creates a cluster definition which contains cluster configuration.

Parameters

ParameterTypeDescription
newClusterClusterPayloadThe new unique cluster.

Returns

Promise<string>

config_hash.

Throws

On duplicate entries, missing or wrong cluster keys.

An example of how to use createClusterDefinition: createObolCluster


acceptClusterDefinition()

acceptClusterDefinition(operatorPayload, configHash): Promise<ClusterDefinition>

Defined in: index.ts:513

Approves joining a cluster with specific configuration.

Parameters

ParameterTypeDescription
operatorPayloadOperatorPayloadThe operator data including signatures.
configHashstringThe config hash of the cluster which the operator confirms joining to.

Returns

Promise<ClusterDefinition>

The cluster definition.

Throws

On unauthorized, duplicate entries, missing keys, not found cluster or invalid data.

An example of how to use acceptClusterDefinition: acceptClusterDefinition


getClusterDefinition()

getClusterDefinition(configHash): Promise<ClusterDefinition>

Defined in: index.ts:570

Parameters

ParameterTypeDescription
configHashstringThe configuration hash returned in createClusterDefinition

Returns

Promise<ClusterDefinition>

The cluster definition for config hash

Throws

On not found config hash.

An example of how to use getClusterDefinition: getObolClusterDefinition


getClusterLock()

getClusterLock(configHash): Promise<ClusterLock>

Defined in: index.ts:589

Parameters

ParameterTypeDescription
configHashstringThe configuration hash in cluster-definition

Returns

Promise<ClusterLock>

The matched cluster details (lock) from DB

Throws

On not found cluster definition or lock.

An example of how to use getClusterLock: getObolClusterLock


getClusterLockByHash()

getClusterLockByHash(lockHash): Promise<ClusterLock>

Defined in: index.ts:605

Parameters

ParameterTypeDescription
lockHashstringThe configuration hash in cluster-definition

Returns

Promise<ClusterLock>

The matched cluster details (lock) from DB

Throws

On not found cluster definition or lock.