# Class: Minipool
Rocket Pool Minipool Manager
# Constructors
# constructor
• new Minipool(web3
, contracts
)
Create a new Minipool instance.
# Parameters
Name | Type | Description |
---|---|---|
web3 | default | A valid Web3 instance |
contracts | Contracts | A Rocket Pool Contract Manager Instance |
# Defined in
rocketpool/minipool/minipool.ts:27
# Accessors
# rocketMinipoolManager
• Private
get
rocketMinipoolManager(): Promise
<Contract
>
Private accessor use to retrieve the related contract
# Returns
Promise
<Contract
>
a Promise<Contract> with a web3.eth.contract instance of the rocketMinipoolManager contract
# Defined in
rocketpool/minipool/minipool.ts:33
# rocketMinipoolQueue
• Private
get
rocketMinipoolQueue(): Promise
<Contract
>
Private accessor use to retrieve the related contract
# Returns
Promise
<Contract
>
a Promise<Contract> with a web3.eth.contract instance of the rocketMinipoolQueue contract
# Defined in
rocketpool/minipool/minipool.ts:41
# rocketMinipoolStatus
• Private
get
rocketMinipoolStatus(): Promise
<Contract
>
Private accessor use to retrieve the related contract
# Returns
Promise
<Contract
>
a Promise<Contract> with a web3.eth.contract instance of the rocketMinipoolStatus contract
# Defined in
rocketpool/minipool/minipool.ts:49
# rocketMinipool
• Private
get
rocketMinipool(): Promise
<Contract
>
Private accessor use to retrieve the related contract
# Returns
Promise
<Contract
>
a Promise<Contract> with a web3.eth.contract instance of the rocketMinipool contract
# Defined in
rocketpool/minipool/minipool.ts:57
# Methods
# getMinipools
▸ getMinipools(): Promise
<MinipoolDetails
[]>
Get all minipool details
example
using Typescript
const minipools = rp.minipool.getMinipools().then((val: MinipoolDetails[]) => { val };
# Returns
Promise
<MinipoolDetails
[]>
a Promise<MinipoolDetails[]> that resolves to an array of MinipoolDetails (address, exists, pubkey)
# Defined in
rocketpool/minipool/minipool.ts:70
# getMinipoolAddresses
▸ getMinipoolAddresses(): Promise
<string
[]>
Get all minipool addresses
example
using Typescript
const addresses = rp.minipool.getMinipoolAddresses().then((val: string[]) => { val };
# Returns
Promise
<string
[]>
a Promise<string[]> that resolves to an array of minipool addresses as strings
# Defined in
rocketpool/minipool/minipool.ts:89
# getNodeMinipools
▸ getNodeMinipools(nodeAddress
): Promise
<MinipoolDetails
[]>
Get all node's minipool details
params
nodeAddress a string representing the node address you which to return details for
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const details = rp.minipool.getNodeMinipools(nodeAddress).then((val: MinipoolDetails[]) => { val };
# Parameters
Name | Type |
---|---|
nodeAddress | string |
# Returns
Promise
<MinipoolDetails
[]>
a Promise<MinipoolDetails[]> that resolves to an array of MinipoolDetails about a specific node
# Defined in
rocketpool/minipool/minipool.ts:110
# getNodeMinipoolAddresses
▸ getNodeMinipoolAddresses(nodeAddress
): Promise
<string
[]>
Get all node's minipool addresses
params
nodeAddress a string representing the node address you which to return details for
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const minipoolAddresses = rp.minipool.getNodeMinipoolAddresses(nodeAddress).then((val: string[]) => { val };
# Parameters
Name | Type |
---|---|
nodeAddress | string |
# Returns
Promise
<string
[]>
a Promise<string[]> that resolves to an array of strings containing the minipool addresses
# Defined in
rocketpool/minipool/minipool.ts:131
# getMinipoolDetails
▸ getMinipoolDetails(address
): Promise
<MinipoolDetails
>
Get all minipool's details
params
nodeAddress a string representing the node address you which to return details for
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const minipoolDetails = rp.minipool.getMinipoolDetails(nodeAddress).then((val: MinipoolDetails) => { val };
# Parameters
Name | Type |
---|---|
address | string |
# Returns
Promise
<MinipoolDetails
>
a Promise<MinipoolDetails> that resolves to a singular MinipoolDetails with details about the minipool you want to look up
# Defined in
rocketpool/minipool/minipool.ts:152
# getMinipoolCount
▸ getMinipoolCount(): Promise
<number
>
Get all the total minipool count
example
using Typescript
const totalMinipools = rp.minipool.getMinipoolCount().then((val: number) => { val };
# Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the total minipool count
# Defined in
rocketpool/minipool/minipool.ts:171
# getMinipoolAt
▸ getMinipoolAt(index
): Promise
<string
>
Get a minipool address by index
params
index a number representing the index of the minipool you wish to lookup
example
using Typescript
const index = 5;
const address = rp.minipool.getMinipoolAt(index).then((val: string) => { val };
# Parameters
Name | Type |
---|---|
index | number |
# Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the minipool address
# Defined in
rocketpool/minipool/minipool.ts:190
# getNodeMinipoolCount
▸ getNodeMinipoolCount(nodeAddress
): Promise
<number
>
Get a node's total minipool count
params
nodeAddress a string representing the node address you which to return details for
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const nodeMinipoolCount = rp.minipool.getNodeMinipoolCount(nodeAddress).then((val: number) => { val };
# Parameters
Name | Type |
---|---|
nodeAddress | string |
# Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the node's total minipool count
# Defined in
rocketpool/minipool/minipool.ts:207
# getStakingMinipoolCount
▸ getStakingMinipoolCount(): Promise
<number
>
Get the staking minipool count
example
using Typescript
const stakingMinipoolCount = rp.minipool.getStakingMinipoolCount().then((val: number) => { val };
# Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the total staking minipool count
# Defined in
rocketpool/minipool/minipool.ts:224
# getNodeStakingMinipoolCount
▸ getNodeStakingMinipoolCount(nodeAddress
): Promise
<number
>
Get the node's staking minipool count
params
nodeAddress a string representing the node address you which to return details for
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const nodeStakingMinipoolCount = rp.minipool.getNodeStakingMinipoolCount(nodeAddress).then((val: number) => { val };
# Parameters
Name | Type |
---|---|
nodeAddress | string |
# Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the node's staking minipool count
# Defined in
rocketpool/minipool/minipool.ts:241
# getNodeActiveMinipoolCount
▸ getNodeActiveMinipoolCount(nodeAddress
): Promise
<string
>
Get the node's active minipool count
params
nodeAddress a string representing the node address you which to return details for
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const nodeActiveMinipoolCount = rp.minipool.getNodeActiveMinipoolCount(nodeAddress).then((val: number) => { val };
# Parameters
Name | Type |
---|---|
nodeAddress | string |
# Returns
Promise
<string
>
a Promise<number> that resolves to a number representing the node's active minipool count
# Defined in
rocketpool/minipool/minipool.ts:258
# getNodeMinipoolAt
▸ getNodeMinipoolAt(nodeAddress
, index
): Promise
<string
>
Get the node's minipool address by index
params
nodeAddress a string representing the node address you which to return details for
params
index a number representing the index of
example
using Typescript
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const index = 2;
const address = rp.minipool.getNodeMinipoolAt(nodeAddress, index).then((val: string) => { val };
# Parameters
Name | Type |
---|---|
nodeAddress | string |
index | number |
# Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the minipool address at the desired index
# Defined in
rocketpool/minipool/minipool.ts:277
# getMinipoolByPubkey
▸ getMinipoolByPubkey(validatorPubkey
): Promise
<string
>
Get a minipool address by validator pubkey
params
validatorPubkey a string representing the validator pub key
example
using Typescript
const validatorPubkey = "0x000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003";
const address = rp.minipool.getMinipoolByPubkey(nodeAddress).then((val: string) => { val };
# Parameters
Name | Type |
---|---|
validatorPubkey | string |
# Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the minipool address at the desired pubkey
# Defined in
rocketpool/minipool/minipool.ts:294
# getMinipoolExists
▸ getMinipoolExists(address
): Promise
<boolean
>
Check whether a minipool exists
params
address a string representing the minipool address you to check against
example
using Typescript
const address = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const exists = rp.minipool.getMinipoolExists(nodeAddress).then((val: boolean) => { val };
# Parameters
Name | Type |
---|---|
address | string |
# Returns
Promise
<boolean
>
a Promise<boolean> that resolves to a boolean representing if a minipool exists at the address
# Defined in
rocketpool/minipool/minipool.ts:311
# getMinipoolPubkey
▸ getMinipoolPubkey(address
): Promise
<string
>
Get a minipool's validator pubkey
params
address a string representing the minipool address
example
using Typescript
const address = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const address = rp.minipool.getMinipoolPubkey(nodeAddress).then((val: string) => { val };
# Parameters
Name | Type |
---|---|
address | string |
# Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the pubkey for the provided minipool address
# Defined in
rocketpool/minipool/minipool.ts:328
# getMinipoolWithdrawalCredentials
▸ getMinipoolWithdrawalCredentials(address
): Promise
<string
>
Get a minipool's withdrawal credentials
params
address a string representing the minipool address
example
using Typescript
const address = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const address = rp.minipool.getMinipoolWithdrawalCredentials(nodeAddress).then((val: string) => { val };
# Parameters
Name | Type |
---|---|
address | string |
# Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the minipool credentials
# Defined in
rocketpool/minipool/minipool.ts:345
# getQueueLength
▸ getQueueLength(depositType
): Promise
<number
>
Get the minipool queue length
params
depositType a number representing the deposit type
example
using Typescript
const length = rp.minipool.getQueueLength(1).then((val: number) => { val };
# Parameters
Name | Type |
---|---|
depositType | number |
# Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the minipool queue length
# Defined in
rocketpool/minipool/minipool.ts:361
# getQueueTotalLength
▸ getQueueTotalLength(): Promise
<number
>
Get the total minipool queue length
example
using Typescript
const totalLength = rp.minipool.getQueueTotalLength().then((val: number) => { val };
# Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the total minipool queue length
# Defined in
rocketpool/minipool/minipool.ts:376
# getQueueTotalCapacity
▸ getQueueTotalCapacity(): Promise
<string
>
Get the total capacity of queued minipools in Wei
example
using Typescript
const totalLength = rp.minipool.getQueueTotalCapacity().then((val: string) => { val };
# Returns
Promise
<string
>
a Promise<string> that resolves to a number representing the total capacity of queued minipools in Wei
# Defined in
rocketpool/minipool/minipool.ts:393
# getQueueEffectiveCapacity
▸ getQueueEffectiveCapacity(): Promise
<string
>
Get the effective capacity of queued minipools in Wei (used in node demand calculations)
example
using Typescript
const queueEffectiveCapacity = rp.minipool.getQueueEffectiveCapacity().then((val: string) => { val };
# Returns
Promise
<string
>
a Promise<string> that resolves to a number representing the effective capacity of queued minipools in Wei
# Defined in
rocketpool/minipool/minipool.ts:408
# getQueueNextCapacity
▸ getQueueNextCapacity(): Promise
<string
>
Get the capacity of the next available minipool in Wei
example
using Typescript
const queueNextCapacity = rp.minipool.getQueueNextCapacity().then((val: string) => { val };
# Returns
Promise
<string
>
a Promise<string> that resolves to a number representing the capacity of the next available minipool in Wei
# Defined in
rocketpool/minipool/minipool.ts:423
# getMinipoolNodeRewardAmount
▸ getMinipoolNodeRewardAmount(nodeFee
, userDepositBalance
, startBalance
, endBalance
): Promise
<string
>
Get the node reward amount for a minipool by node fee, user deposit balance, and staking start & end balances
params
nodeFee a number representing the node fee
params
userBalanceString a string representing the user balance in Wei
params
startBalance a string representing the start balance in Wei
params
endBalance a sttring representing the end balance in Wei
example
using Typescript
const rewardsAmount = rp.minipool.getMinipoolNodeRewardAmount(nodeFee, userDepositBalance, startBalance, endBalance).then((val: string) => { val };
# Parameters
Name | Type |
---|---|
nodeFee | number |
userDepositBalance | string |
startBalance | string |
endBalance | string |
# Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the minipool node rewards amount in Wei
# Defined in
rocketpool/minipool/minipool.ts:442
# getMinipoolContract
▸ getMinipoolContract(address
): Promise
<MinipoolContract
>
Get a MinipoolContract instance
params
address a string representing the address of the minipool
example
using Typescript
const address = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const minipoolContract = rp.minipool.getMinipoolContract(address).then((val: MinipoolContract) => { val };
# Parameters
Name | Type |
---|---|
address | string |
# Returns
Promise
<MinipoolContract
>
a Promise<MinipoolContract> that resolves to a MinipoolContract representing the contract of the minipool
# Defined in
rocketpool/minipool/minipool.ts:461
# getEffectiveDelegate
▸ getEffectiveDelegate(address
): Promise
<string
>
Get the effective delegate
params
address a string representing the address of the minipool
example
using Typescript
const address = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const effectiveDelegate = rp.minipool.getEffectiveDelegate(address).then((val: string) => { val };
# Parameters
Name | Type |
---|---|
address | string |
# Returns
Promise
<string
>
a Promise<string> that resolves to the address of the effective delegate
# Defined in
rocketpool/minipool/minipool.ts:478
# submitMinipoolWithdrawable
▸ submitMinipoolWithdrawable(minipoolAddress
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Submit a minipool as withdrawable
example
using Typescript
const minipoolAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const trustedNode = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: trustedNode,
gas: 1000000
};
const txReceipt = rp.minipool.submitWithdrawable(minipoolAddress, options).then((txReceipt: TransactionReceipt) => { txReceipt };
# Parameters
Name | Type | Description |
---|---|---|
minipoolAddress | string | A string representing the address of the minipool |
options? | SendOptions | An optional object of web3.eth.Contract SendOptions |
onConfirmation? | ConfirmationHandler | An optional confirmation handler object |
# Returns
Promise
<TransactionReceipt
>
a Promise<TransactionReceipt> that resolves to a TransactionReceipt object representing the receipt of the transaction
# Defined in
rocketpool/minipool/minipool.ts:502