Class: MinipoolContract
Rocket Pool Minipool Contract Instance Wrapper
Constructors
constructor
• new MinipoolContract(web3
, address
, contract
)
Create a new Minipool Contract instance.
Parameters
Name | Type | Description |
---|---|---|
web3 | default | A valid Web3 instance |
address | string | - |
contract | Contract | - |
Defined in
rocketpool/minipool/minipool-contract.ts:43
Properties
address
• Readonly
address: string
contract
• Readonly
contract: Contract
Methods
getStatusDetails
▸ getStatusDetails(): Promise
<StatusDetails
>
Get status details
example
using Typescript
const statusDetails = minipool.getStatusDetails().then((val: StatusDetails) => { val };
const statusDetails = minipool.getStatusDetails().then((val: StatusDetails) => { val };
Returns
Promise
<StatusDetails
>
a Promise<StatusDetails> that resolves to a StatusDetails object (status, block, time)
Defined in
rocketpool/minipool/minipool-contract.ts:54
getStatus
▸ getStatus(): Promise
<number
>
Get status of a minipool
example
using Typescript
const status = minipool.getStatus().then((val: number) => { val };
const status = minipool.getStatus().then((val: number) => { val };
Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the minipool status
Defined in
rocketpool/minipool/minipool-contract.ts:73
getStatusBlock
▸ getStatusBlock(): Promise
<number
>
Get status block of a minipool
example
using Typescript
const statusBlock = minipool.getStatusBlock().then((val: number) => { val };
const statusBlock = minipool.getStatusBlock().then((val: number) => { val };
Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the status block of a minipool
Defined in
rocketpool/minipool/minipool-contract.ts:86
getStatusTime
▸ getStatusTime(): Promise
<Date
>
Get status timestamp of a minipool
example
using Typescript
const statusTime = minipool.getStatusBlock().then((val: Date) => { val };
const statusTime = minipool.getStatusBlock().then((val: Date) => { val };
Returns
Promise
<Date
>
a Promise<Date> that resolves to a Date representing the timestamp a minipool status
Defined in
rocketpool/minipool/minipool-contract.ts:102
getDepositType
▸ getDepositType(): Promise
<number
>
Get the deposit type
example
using Typescript
const depositType = minipool.getDepositType().then((val: number) => { val };
const depositType = minipool.getDepositType().then((val: number) => { val };
Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the deposit type
Defined in
rocketpool/minipool/minipool-contract.ts:118
getNodeDetails
▸ getNodeDetails(): Promise
<NodeDetails
>
Get the node details of a minipool
example
using Typescript
const nodeDetails = minipool.getNodeDetails().then((val: NodeDetails) => { val };
const nodeDetails = minipool.getNodeDetails().then((val: NodeDetails) => { val };
Returns
Promise
<NodeDetails
>
a Promise<NodeDetails> that resolves to a NodeDetails object representing details about the minipool's nodes
Defined in
rocketpool/minipool/minipool-contract.ts:131
getNodeAddress
▸ getNodeAddress(): Promise
<string
>
Get the node address of a minipool
example
using Typescript
const nodeAddress = minipool.getNodeAddress().then((val: string) => { val };
const nodeAddress = minipool.getNodeAddress().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node address of the minipool
Defined in
rocketpool/minipool/minipool-contract.ts:158
getNodeFee
▸ getNodeFee(): Promise
<number
>
Get the node fee of a minipool
example
using Typescript
const nodeFee = minipool.getNodeFee().then((val: number) => { val };
const nodeFee = minipool.getNodeFee().then((val: number) => { val };
Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the node fee of the minipool
Defined in
rocketpool/minipool/minipool-contract.ts:171
getNodeDepositBalance
▸ getNodeDepositBalance(): Promise
<string
>
Get the node deposit balance of a minipool
example
using Typescript
const nodeBalanceDeposit = minipool.getNodeDepositBalance().then((val: string) => { val };
const nodeBalanceDeposit = minipool.getNodeDepositBalance().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node deposit balance of a minipool in Wei
Defined in
rocketpool/minipool/minipool-contract.ts:184
getNodeRefundBalance
▸ getNodeRefundBalance(): Promise
<string
>
Get the node refund balance of a minipool
example
using Typescript
const nodeRefundDeposit = minipool.getNodeRefundBalance().then((val: string) => { val };
const nodeRefundDeposit = minipool.getNodeRefundBalance().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the node refund balance of a minipool in Wei
Defined in
rocketpool/minipool/minipool-contract.ts:197
getNodeDepositAssigned
▸ getNodeDepositAssigned(): Promise
<boolean
>
Get if a node deposit has been assigned for a minipool
example
using Typescript
const nodeDepositAssigned = minipool.getNodeDepositAssigned().then((val: boolean) => { val };
const nodeDepositAssigned = minipool.getNodeDepositAssigned().then((val: boolean) => { val };
Returns
Promise
<boolean
>
a Promise<boolean> that resolves to a boolean representing if a node deposit has been assigned for a minipool
Defined in
rocketpool/minipool/minipool-contract.ts:210
getScrubVoted
▸ getScrubVoted(): Promise
<boolean
>
Get if a minipool has had scrub votes
example
using Typescript
const scrubVoted = minipool.getScrubVoted().then((val: boolean) => { val };
const scrubVoted = minipool.getScrubVoted().then((val: boolean) => { val };
Returns
Promise
<boolean
>
a Promise<boolean> that resolves to a boolean representing if a minipool has had scrub votes
Defined in
rocketpool/minipool/minipool-contract.ts:223
getTotalScrubVotes
▸ getTotalScrubVotes(): Promise
<number
>
Get the total scrub votes for a minipool
example
using Typescript
const totalScrubVotes = minipool.getTotalScrubVotes().then((val: number) => { val };
const totalScrubVotes = minipool.getTotalScrubVotes().then((val: number) => { val };
Returns
Promise
<number
>
a Promise<number> that resolves to a number representing the total number of scrub votes a minipool has
Defined in
rocketpool/minipool/minipool-contract.ts:236
getUserDetails
▸ getUserDetails(): Promise
<UserDetails
>
Get user deposit details
example
using Typescript
const userDetails = minipool.getUserDetails().then((val: UserDetails) => { val };
const userDetails = minipool.getUserDetails().then((val: UserDetails) => { val };
Returns
Promise
<UserDetails
>
a Promise<UserDetails> that resolves to a UserDetails object representing the user details (depositBalance, depositAssigned, depositAssignedTime) for a minipool
Defined in
rocketpool/minipool/minipool-contract.ts:249
getUserDepositBalance
▸ getUserDepositBalance(): Promise
<string
>
Get user deposit balance
example
using Typescript
const userDepositBalance = minipool.getUserDepositBalance().then((val: string) => { val };
const userDepositBalance = minipool.getUserDepositBalance().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the user deposit balance for a minipool in Wei
Defined in
rocketpool/minipool/minipool-contract.ts:268
getUserDepositAssigned
▸ getUserDepositAssigned(): Promise
<boolean
>
Get user deposit assigned
example
using Typescript
const userDepositAssigned = minipool.getUserDepositAssigned().then((val: boolean) => { val };
const userDepositAssigned = minipool.getUserDepositAssigned().then((val: boolean) => { val };
Returns
Promise
<boolean
>
a Promise<boolean> that resolves to a boolean representing if the user deposit has been assigned
Defined in
rocketpool/minipool/minipool-contract.ts:281
getUserDepositAssignedTime
▸ getUserDepositAssignedTime(): Promise
<Date
>
Get a timestamp for when the user deposit was assigned for the minipool
example
using Typescript
const userDepositAssignedTime = minipool.getUserDepositAssignedTime().then((val: boolean) => { val };
const userDepositAssignedTime = minipool.getUserDepositAssignedTime().then((val: boolean) => { val };
Returns
Promise
<Date
>
a Promise<Date> that resolves to a Date representing the timestamp the user deposit was assigned for the minipool
Defined in
rocketpool/minipool/minipool-contract.ts:294
getStakingDetails
▸ getStakingDetails(): Promise
<StakingDetails
>
Get a staking details for a minipool
example
using Typescript
const stakingDetails = minipool.getStakingDetails().then((val: StakingDetails) => { val };
const stakingDetails = minipool.getStakingDetails().then((val: StakingDetails) => { val };
Returns
Promise
<StakingDetails
>
a Promise<StakingDetails> that resolves to a StakingDetails object representing staking details (start & end balance) for a minipool
Defined in
rocketpool/minipool/minipool-contract.ts:310
getStakingStartBalance
▸ getStakingStartBalance(): Promise
<string
>
Get a staking start balance for a minipool
example
using Typescript
const stakingStartBalance = minipool.getStakingStartBalance().then((val: string) => { val };
const stakingStartBalance = minipool.getStakingStartBalance().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the staking start balance for a minipool
Defined in
rocketpool/minipool/minipool-contract.ts:328
getStakingEndBalance
▸ getStakingEndBalance(): Promise
<string
>
Get a staking end balance for a minipool
example
using Typescript
const stakingEndBalance = minipool.getStakingEndBalance().then((val: string) => { val };
const stakingEndBalance = minipool.getStakingEndBalance().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the staking end balance for a minipool
Defined in
rocketpool/minipool/minipool-contract.ts:341
getWithdrawalCredentials
▸ getWithdrawalCredentials(): Promise
<string
>
Get a minipool's withdrawal credentials
example
using Typescript
const withdrawalCredentials = minipool.getWithdrawalCredentials().then((val: string) => { val };
const withdrawalCredentials = minipool.getWithdrawalCredentials().then((val: string) => { val };
Returns
Promise
<string
>
a Promise<string> that resolves to a string representing the minipool's withdrawal credentials
Defined in
rocketpool/minipool/minipool-contract.ts:354
getNodeWithdrawn
▸ getNodeWithdrawn(): Promise
<boolean
>
Check if a minipool's node is withdrawn
example
using Typescript
const nodeWithdrawn = minipool.getNodeWithdrawn().then((val: boolean) => { val };
const nodeWithdrawn = minipool.getNodeWithdrawn().then((val: boolean) => { val };
Returns
Promise
<boolean
>
a Promise<boolean> that resolves to a boolean representing if the minipool's node is withdrawn
Defined in
rocketpool/minipool/minipool-contract.ts:367
dissolve
▸ dissolve(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Dissolve the minipool
example
using Typescript
const node = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: node,
gas: 1000000
};
const txReceipt = minipool.dissolve(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const node = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: node,
gas: 1000000
};
const txReceipt = minipool.dissolve(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:387
slash
▸ slash(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Slash the minipool
example
using Typescript
const node = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: node,
gas: 1000000
};
const txReceipt = minipool.slash(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const node = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
from: node,
gas: 1000000
};
const txReceipt = minipool.slash(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:407
refund
▸ refund(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Refund node ETH refinanced from user deposited ETH
example
using Typescript
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.refund(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.refund(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:427
stake
▸ stake(validatorSignature
, depositDataRoot
, options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Progress the minipool to staking, sending its ETH deposit to the VRC Only accepts calls from the minipool owner (node) while in prelaunch and once scrub period has ended
example
using Typescript
const validatorSignature = <Buffer 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23>;
const depositDataRoot = <Buffer 48 ad 0b 82 2c d6 81 f9 c9 8b 06 a1 8b 93 4b df 7f 40 76 80 fb 7a 3b 5c cd 2c 92 a6 4a 58 e9 05>;
const owner = "0x8B0EF9f1932A2e44c3D27bE4C70C3BC07A6A27B3"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.stake(validatorSignature, depositDataRoot, options).then((txReceipt: TransactionReceipt) => { txReceipt };
const validatorSignature = <Buffer 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23 45 67 89 ab cd ef 01 23>;
const depositDataRoot = <Buffer 48 ad 0b 82 2c d6 81 f9 c9 8b 06 a1 8b 93 4b df 7f 40 76 80 fb 7a 3b 5c cd 2c 92 a6 4a 58 e9 05>;
const owner = "0x8B0EF9f1932A2e44c3D27bE4C70C3BC07A6A27B3"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.stake(validatorSignature, depositDataRoot, options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
validatorSignature | Buffer | A buffer containing the validator signature |
depositDataRoot | Buffer | A buffer containing the deposit data |
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-contract.ts:452
finalise
▸ finalise(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Finalise and unlock their RPL stake
example
using Typescript
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.finalise(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.finalise(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:472
withdraw
▸ withdraw(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Withdraw node balances & rewards from the minipool and close it
example
using Typescript
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.withdraw(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.withdraw(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:492
distributeBalanceAndFinalise
▸ distributeBalanceAndFinalise(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Distributes the contract's balance and finalises the pool
example
using Typescript
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.distributeBalanceAndFinalise(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.distributeBalanceAndFinalise(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:512
distributeBalance
▸ distributeBalance(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Distributes the contract's balance When called during staking status, requires 16 ether in the pool When called by non-owner with less than 16 ether, requires 14 days to have passed since being made withdrawable
example
using Typescript
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.distributeBalance(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.distributeBalance(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:534
voteScrub
▸ voteScrub(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Mark a minipool as scrub, we don't want no scrubs
example
using Typescript
const daoMember = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // can only be called by a DAO member
const options = {
from: daoMember,
gas: 1000000
};
const txReceipt = minipool.voteScrub(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const daoMember = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // can only be called by a DAO member
const options = {
from: daoMember,
gas: 1000000
};
const txReceipt = minipool.voteScrub(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:554
close
▸ close(options?
, onConfirmation?
): Promise
<TransactionReceipt
>
Withdraw node balances from the minipool and close it
example
using Typescript
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.close(options).then((txReceipt: TransactionReceipt) => { txReceipt };
const owner = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294"; // must be the owner of the minipool
const options = {
from: owner,
gas: 1000000
};
const txReceipt = minipool.close(options).then((txReceipt: TransactionReceipt) => { txReceipt };
Parameters
Name | Type | Description |
---|---|---|
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-contract.ts:574