Skip to main content

contracts/handlers/guardian-module-handler

Classes​

GuardianModuleHandler​

Defined in: lib/contracts/handlers/guardian-module-handler.ts:18

Handler for the GuardianModule contract exposing methods to interact with the contract.

Constructors​

Constructor​

new GuardianModuleHandler(chain, walletClient, publicClient): GuardianModuleHandler

Defined in: lib/contracts/handlers/guardian-module-handler.ts:31

Create the handler for the PufLocker contract exposing methods to interact with the contract.

Parameters​
ParameterTypeDescription
chainChainChain to use for the client.
walletClient{ }The wallet client to use for wallet interactions.
publicClient{ }The public client to use for public interactions.
Returns​

GuardianModuleHandler

Methods​

getContract()​

getContract(): object

Defined in: lib/contracts/handlers/guardian-module-handler.ts:45

Get the contract. This is a method because the typings are complex and lost when trying to make it a member.

Returns​

object

The viem contract.

getEjectionThreshold()​

getEjectionThreshold(): Promise<bigint>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:62

Get the ejection threshold.

Returns​

Promise<bigint>

The ejection threshold.

getGuardians()​

getGuardians(): Promise<readonly `0x${string}`[]>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:71

Get the guardians.

Returns​

Promise<readonly `0x${string}`[]>

The guardians.

getGuardiansEnclaveAddress()​

getGuardiansEnclaveAddress(guardian): Promise<`0x${string}`>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:81

Get the enclave address for a guardian.

Parameters​
ParameterTypeDescription
guardian`0x${string}`The guardian address.
Returns​

Promise<`0x${string}`>

The enclave address.

getGuardiansEnclaveAddresses()​

getGuardiansEnclaveAddresses(): Promise<readonly `0x${string}`[]>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:90

Get the enclave addresses for all guardians.

Returns​

Promise<readonly `0x${string}`[]>

The enclave addresses.

getGuardiansEnclavePubkeys()​

getGuardiansEnclavePubkeys(): Promise<readonly `0x${string}`[]>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:99

Get the enclave pubkeys for all guardians.

Returns​

Promise<readonly `0x${string}`[]>

The enclave pubkeys.

getMrenclave()​

getMrenclave(): Promise<`0x${string}`>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:125

Get the mrenclave.

Returns​

Promise<`0x${string}`>

The mrenclave.

getMrsigner()​

getMrsigner(): Promise<`0x${string}`>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:134

Get the mrsigner.

Returns​

Promise<`0x${string}`>

The mrsigner.

getThreshold()​

getThreshold(): Promise<bigint>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:143

Get the threshold.

Returns​

Promise<bigint>

The threshold.

isConsumingScheduledOp()​

isConsumingScheduledOp(): Promise<`0x${string}`>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:153

Check if the guardian module is consuming scheduled operations.

Returns​

Promise<`0x${string}`>

True if the guardian module is consuming scheduled operations, false otherwise.

isGuardian()​

isGuardian(account): Promise<boolean>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:163

Check if an account is a guardian.

Parameters​
ParameterTypeDescription
account`0x${string}`The account address.
Returns​

Promise<boolean>

True if the account is a guardian, false otherwise.

removeGuardian()​

removeGuardian(guardian, account): Promise<`0x${string}`>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:174

Remove a guardian.

Parameters​
ParameterTypeDescription
guardian`0x${string}`The guardian address.
account`0x${string}`The account address to make the transaction with.
Returns​

Promise<`0x${string}`>

The transaction receipt.

validateGuardiansEnclaveSignatures()​

validateGuardiansEnclaveSignatures(enclaveSignatures, signedMessageHash): Promise<boolean>

Defined in: lib/contracts/handlers/guardian-module-handler.ts:110

Validate the enclave signatures for a signed message.

Parameters​
ParameterTypeDescription
enclaveSignatures`0x${string}`[]The enclave signatures.
signedMessageHash`0x${string}`The signed message hash.
Returns​

Promise<boolean>

The validation result.