For the complete documentation index, see llms.txt. This page is also available as Markdown.

Hats Signer Gate

Interact with HSG instances.

Signers Management

hsgClaimSigner

Claim signer rights on the safe.

In order to successfully claim:

  • The calling account must wear the Signers Hat. Use this function is order to check whether an account is a valid signer.

  • Caller must not be already a signer.

  • The current amount of valid signers should be smaller than the configured amount of maximum signers.

const claimSignerResult = await hatsSignerGateClient.hsgClaimSigner({
    account,
    hsgInstance,
});

Arguments:

{
    account: Account | Address;
    hsgInstance: Address;
}
  • account - Viem account (Address for JSON-RPC accounts or Account for other types).

  • hsgInstance - HSG's instance address.

Response:

  • status - "success" if transaction was successful, "reverted" if transaction reverted.

  • transactionHash - transaction's hash.

hsgIsValidSigner

Check if an account is wearing the Signers Hat (regardless whether the account has claimed signer rights or not).

Arguments:

  • hsgInstance - HSG's instance address.

  • address -The address to check.

Response:

true if valid, false otherwise.

claimedAndStillValid

Check if an account has claimed signer rights and is still valid.

Arguments:

  • instance - HSG's instance address.

  • address -The address to check.

Response:

true if the account is one of the safe's owners and is still valid, false otherwise.

validSignerCount

Tallies the number of existing Safe owners that wear the Signers Hat.

Arguments:

  • instance - HSG's instance address.

Response:

The number of valid signers on the Safe.

reconcileSignerCount

Tallies the number of existing Safe owners that wear a Signers Hat and updates the Safe's threshold if necessary. Does NOT remove invalid Safe owners.

Arguments:

  • account - Viem account (Address for JSON-RPC accounts or Account for other types).

  • instance - HSG's instance address.

Response:

  • status - "success" if transaction was successful, "reverted" if transaction reverted.

  • transactionHash - transaction's hash.

removeSigner

Removes an invalid signer from the Safe, updating its threshold if appropriate.

Arguments:

  • account - Viem account (Address for JSON-RPC accounts or Account for other types).

  • instance - HSG's instance address.

  • signer - The address to remove if not a valid signer.

Response:

  • status - "success" if transaction was successful, "reverted" if transaction reverted.

  • transactionHash - transaction's hash.

HSG Instance Properties

Getters for the basic properties of a HSG instance.

hsgSignersHatId

Get a HSG's Signers Hat ID.

Arguments:

  • hsgInstance - HSG's instance address.

Response:

HSG's Signers Hat ID.

getSafe

Get a HSG's attached Safe.

Arguments:

  • instance - HSG's instance address.

Response:

Address of the attached Safe.

getMinThreshold

Get a HSG's minimum threshold.

Arguments:

  • instance - HSG's instance address.

Response:

The instance's min threshold.

getTargetThreshold

Get a HSG's target threshold.

Arguments:

  • instance - HSG's instance address.

Response:

The instance's target threshold.

getMaxSigners

Get a HSG's maximum amount of signers.

Arguments:

  • instance - HSG's instance address.

Response:

The instance's max signers.

getOwnerHat

Get a HSG's Owner Hat.

Arguments:

  • instance - HSG's instance address.

Response:

The instance's Owner Hat.

HSG Owner

Following functions are only authorized to the wearer(s) of the HSG instance's Owner Hat.

setTargetThreshold

Sets a new target threshold, and changes Safe's threshold if appropriate.

In order to successfully execute the function:

  • The caller must be a wearer of the HSG's Owner Hat.

  • The new target threshold should not be smaller than the minimum threshold.

  • The new target threshold should not be larger than the maximum amount of signers.

Arguments:

  • account - Viem account (Address for JSON-RPC accounts or Account for other types).

  • instance - HSG's instance address.

  • targetThreshold - The new target threshold to set.

Response:

  • status - "success" if transaction was successful, "reverted" if transaction reverted.

  • transactionHash - transaction's hash.

setMinThreshold

Sets a new minimum threshold.

In order to successfully execute the function:

  • The caller must be a wearer of the HSG's Owner Hat.

  • The new minimum threshold should not be larger than the target threshold.

  • The new minimum threshold should not be larger than the maximum amount of signers.

Arguments:

  • account - Viem account (Address for JSON-RPC accounts or Account for other types).

  • instance - HSG's instance address.

  • minThreshold - The new minimum threshold to set.

Response:

  • status - "success" if transaction was successful, "reverted" if transaction reverted.

  • transactionHash - transaction's hash.

setOwnerHat

Sets a new Owner Hat.

In order to successfully execute the function:

  • The caller must be a wearer of the current Owner Hat.

Arguments:

  • account - Viem account (Address for JSON-RPC accounts or Account for other types).

  • instance - HSG's instance address.

  • newOwnerHat - The new Owner Hat to set.

  • hatsContractAddress - The Hats.sol contract address of the new Owner Hat.

Response:

  • status - "success" if transaction was successful, "reverted" if transaction reverted.

  • transactionHash - transaction's hash.

Last updated