# Class: DAONodeTrusted

Rocket Pool DAO Trusted Node

# Constructors

# constructor

new DAONodeTrusted(web3, contracts)

Create a new DAONodeTrusted instance.

# Parameters

Name Type Description
web3 default A valid Web3 instance
contracts Contracts A Rocket Pool contract manager instance

# Defined in

rocketpool/dao/node/trusted/node.ts:18

# Accessors

# rocketDAONodeTrusted

Private get rocketDAONodeTrusted(): Promise<Contract>

Private accessor use to retrieve the related contract

# Returns

Promise<Contract>

a Promise<Contract> with a web3.eth.contract instance of the rocketDAONodeTrusted contract

# Defined in

rocketpool/dao/node/trusted/node.ts:24

# Methods

# getMemberID

getMemberID(address): Promise<string>

Return the member id given an address

example using Typescript const account = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";

const memberID = rp.dao.node.trusted.node.getMemberID(account).then((val: string) => { val };

# Parameters

Name Type
address string

# Returns

Promise<string>

a Promise<string> that resolves to a string representing the member id

# Defined in

rocketpool/dao/node/trusted/node.ts:39


# getMemberCount

getMemberCount(): Promise<number>

Get the number of DAO Members

example using Typescript

const memberCount = rp.dao.node.trusted.node.getMemberCount().then((val: number) => { val };

# Returns

Promise<number>

a Promise<number> that resolves to a number representing the number of DAO members

# Defined in

rocketpool/dao/node/trusted/node.ts:54


# getBootstrapModeDisabled

getBootstrapModeDisabled(): Promise<boolean>

Check if Bootstrap Mode is enabled

example using Typescript

const enabled = rp.dao.node.trusted.node.getBootstrapModeDisabled().then((val: number) => { val };

# Returns

Promise<boolean>

a Promise<boolean> that resolves to a boolean representing if bootstrap mode is enabled

# Defined in

rocketpool/dao/node/trusted/node.ts:69


# getProposalQuorumVotesRequired

getProposalQuorumVotesRequired(): Promise<number>

Get the number of votes needed for a proposal to pass

example using Typescript

const votes = rp.dao.node.trusted.node.getProposalQuorumVotesRequired().then((val: number) => { val };

# Returns

Promise<number>

a Promise<number> that resolves to a number representing the number of votes needed for a proposal to pass

# Defined in

rocketpool/dao/node/trusted/node.ts:84


# getMemberIsValid

getMemberIsValid(address): Promise<boolean>

Check if a member is valid

example using Typescript

const address = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const valid = rp.dao.node.trusted.node.getMemberIsValid(address).then((val: boolean) => { val };

# Parameters

Name Type Description
address string A string representing the address you wish to check if a member is valid

# Returns

Promise<boolean>

a Promise<boolean> that resolves to a boolean representing if a member is valid

# Defined in

rocketpool/dao/node/trusted/node.ts:101


# getMemberRPLBondAmount

getMemberRPLBondAmount(address): Promise<string>

Get a member's RPL bond amount

example using Typescript

const address = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const bondAmount = rp.dao.node.trusted.node.getMemberRPLBondAmount(address).then((val: string) => { val };

# Parameters

Name Type Description
address string A string representing the address you wish to lookup

# Returns

Promise<string>

a Promise<string> that resolves to a string representing if a member is valid

# Defined in

rocketpool/dao/node/trusted/node.ts:118


# getMemberIsChallenged

getMemberIsChallenged(address): Promise<boolean>

Check if a member has been challenged

example using Typescript

const address = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const challenged = rp.dao.node.trusted.node.getMemberRPLBondAmount(address).then((val: boolean) => { val };

# Parameters

Name Type Description
address string A string representing the address you wish to lookup

# Returns

Promise<boolean>

a Promise<boolean> that resolves to a boolean representing if a member is valid

# Defined in

rocketpool/dao/node/trusted/node.ts:135


# bootstrapMember

bootstrapMember(id, url, nodeAddress, options?, onConfirmation?): Promise<TransactionReceipt>

Bootstrap a DAO Member

example using Typescript

const id = "kermit";
const url = "https://kermit.xyz";
const guardian = "0x421433c3f99529A704Ec2270E1A68fa66DD8bD79";
const nodeAddress = "0x24fBeD7Ecd625D3f0FD19a6c9113DEd436172294";
const options = {
		from: guardian, // bootstrap can only be performed by guardian and if bootstrap mode is enabled
		gas: 1000000
};
const txReceipt = rp.dao.node.trusted.bootstrapMember(id, url, nodeAddress, options).then((txReceipt: TransactionReceipt) => { txReceipt };

# Parameters

Name Type Description
id string A string representing the id or name of the member
url string A string representing the url for the member
nodeAddress string A string representing the address of the member you are adding
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/dao/node/trusted/node.ts:163


# bootstrapSettingBool

bootstrapSettingBool(settingContractInstance, settingPath, value, options?, onConfirmation?): Promise<TransactionReceipt>

Bootstrap a Boolean Setting

example using Typescript

const settingContractInstance = "kermit";
const settingPath = "https://kermit.xyz";
const value = true;
const guardian = "0x421433c3f99529A704Ec2270E1A68fa66DD8bD79";
const options = {
		from: guardian, // bootstrap can only be performed by guardian
		gas: 1000000
};
const txReceipt = rp.dao.node.trusted.bootstrapSettingBool(settingContractInstance, settingPath, value, options).then((txReceipt: TransactionReceipt) => { txReceipt };

# Parameters

Name Type Description
settingContractInstance string A string representing contract instance
settingPath string A string representing the path for the setting
value boolean A boolean representing the value of the setting you wish to set
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/dao/node/trusted/node.ts:197


# bootstrapSettingUint

bootstrapSettingUint(settingContractInstance, settingPath, value, options?, onConfirmation?): Promise<TransactionReceipt>

Bootstrap a Uint Setting

example using Typescript

// Turn off the ability to create auction lots
const settingContractInstance = "rocketDAOProtocolSettingsAuction";
const settingPath = "auction.lot.create.enabled";
const value = false;
const guardian = "0x421433c3f99529A704Ec2270E1A68fa66DD8bD79";
const options = {
		from: guardian, // bootstrap can only be performed by guardian
		gas: 1000000
};
const txReceipt = rp.dao.node.trusted.bootstrapSettingUint(settingContractInstance, settingPath, value, options).then((txReceipt: TransactionReceipt) => { txReceipt };

# Parameters

Name Type Description
settingContractInstance string A string representing contract instance
settingPath string A string representing the path for the setting
value string | number | object A string, number or object representing the value of the setting you wish to set
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/dao/node/trusted/node.ts:232


# bootstrapDisable

bootstrapDisable(value, options?, onConfirmation?): Promise<TransactionReceipt>

Disable Bootstrap Mode for RP (only RP can call this to hand over full control to the DAO)

example using Typescript

const mode = true;
const guardian = "0x421433c3f99529A704Ec2270E1A68fa66DD8bD79";
const options = {
		from: guardian, // bootstrap can only be performed by guardian
		gas: 1000000
};
const txReceipt = rp.dao.node.trusted.bootstrapDisable(mode, options).then((txReceipt: TransactionReceipt) => { txReceipt };

# Parameters

Name Type Description
value boolean A boolean representing if you are turning bootstrap mode on or off
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/dao/node/trusted/node.ts:262


# memberJoinRequired

memberJoinRequired(id, url, options?, onConfirmation?): Promise<TransactionReceipt>

In an explicable black swan scenario where the DAO loses more than the min membership required (3), this method can be used by a regular node operator to join the DAO Must have their ID, URL, current RPL bond amount available and must be called by their current registered node account

example using Typescript

const id = "rocketpool_emergency_node_op";
const url = "https://rocketpool.net";
const registeredNode = "0x421433c3f99529A704Ec2270E1A68fa66DD8bD79";
const options = {
		from: registeredNode,
		gas: 1000000
};
const txReceipt = rp.dao.node.trusted.memberJoinRequired(id, url, options).then((txReceipt: TransactionReceipt) => { txReceipt };

# Parameters

Name Type Description
id string A string representing the id for the member
url string A string representing the url for the member
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/dao/node/trusted/node.ts:289