(BVS) Directory

The directory subcommand houses commands that interacts with the BVS Directory contract to simplify BVS registration, management and other operations.

reg-bvs

The reg-bvs command registers your BVS to the SatLayer BVS directory. The format is

satlayer-cli directory bvs-reg <bvs-address>

In which:

  • bvs-address - the address of your BVS contract

reg-operator

Registers an account as an operator to the BVS Directory.

satlayer-cli directory reg-operator <operator-key-name>

In which:

  • operator-key-name - the key to be registered as an operator.

dereg-operator

Deregister an operator from the BVS Directory.

satalyer-cli directory dereg-operator <operator-key-name>

In which:

  • (optional) operator-key - the key to be unregistered as an operator.

update-metadata

Updates the URI of the BVS.

satlayer-cli directory update-metadata <user-key-name> <metadata-uri>

In which:

  • user-key-name - the name of the key in the keyring to use for contract execution

  • metadata-uri - an URI that will be broadcasted as an event.

cancel-salt

Cancels a salt of the BVS specified in the configuration file

satlayer-cli directory cancel-salt <user-key-name> <salt>

In which:

  • user-key-name - the name of the key in the keyring to use for contract execution

  • salt - the salt (raw text, not the hash of the salt)

transfer-owner

Transfers the owner of the BVS Directory, specified in the configuration file, to another account.

satlayer-cli directory transfer-owner <user-key-name> <owner-address>

In which:

  • user-key-name - the name of the key in the keyring to use for contract execution

  • owner-address - the address of the new owner

pause

Pause the BVS, specified in the configuration file

satlayer-cli directory pause <user-key-name>

In which:

  • user-key-name - the name of the key in the keyring to use for contract execution

unpause

Resume the BVS, specified in the configuration file

satlayer-cli directory unpause <user-key-name>

In which:

  • user-key-name - the name of the key in the keyring to use for contract execution

set-pauser

Set the address that is allowed to pause the BVS Directory

satlayer-cli directory set-pauser <user-key-name> <address>

In which:

  • user-key-name - the name of the key in the keyring to use for contract execution

  • address - the address of the account to become the pauser

set-unpauser

Set the address that is allowed to unpause the BVS Directory

satlayer-cli directory set-unpauser <user-key-name> <address>

In which:

  • user-key-name - the name of the key in the keyring to use for contract execution

  • address - the address of the account to become the unpauser

get-operator

Checks if an address is registered as an operator

satlayer-cli directory get-operator <address>

In which:

  • address - the address to be checked if is an operator

calc-digesthash

Computes a hash for an BVS, given a salt and expiration. Used as a part of creating a signature with expiration.

satlayer-cli directory calc-digesthash <address> <salt> <exipry>

In which:

  • address - the address of the BVS

  • salt - a string

  • expiry - UNIX timestamp of the expiration time

SatLayer is tracking time with (unsigned) 64bit integers. There's no need to worry about the 2038 problem

is-salt-spent

The is-salt-spent command checks if a salt is already used in BVS operation.

satalyer-cli directory is-salt-spent <bvs-address> <salt>

In which:

  • bvs-address - the address of your BVS contract

  • salt - the salt (raw text, not the hash of the salt!)

Results in:

  • Prints true if salt is spent. Else prints false.

For example:

❯ satlayer-cli directory is-salt-spent osmo1ltgcuacn8chffqzklag9a9wg0catqpuq8fd9wk salt
false

get-delegationmanager

Queries the address of the delegation manager contract:

satlayer-cli directory get-delegationmanager

get-owner

Queries the address of the owner of the BVS, specified in the configuration file

satlayer-cli directory get-owner

get-domain-name

Queries domain of the BVS Driver contract (not the metadata URL!)

satlayer directory get-domain-name

get-bvsinfo

Queries generic on-chain information of a BVS

satlayer directory get-bvsinfo <bvs-hash>

In which:

  • bvs-hash - the hash of the BVS (Not the BVS contract!)

Last updated