For Owners

As the Vault owner, you can manage assets and configure the system. Below are the key actions:

  • Deposit ETH: Send ETH directly to the Vault’s address (calls the receive function).

  • Track ERC-20 Tokens:

    • Use trackTokens to add an ERC-20 token with a non-zero balance.

    • Requirements: Contract not paused, unclaimed, and fewer than 10 tokens tracked.

  • Withdraw Assets:

    • Call withdraw to transfer all ETH and tracked tokens to a specified address.

    • Requirements: Contract not paused, unclaimed.

  • Update Heartbeat:

    • Call ping to update the lastHeartbeat timestamp.

    • Alternatively, authorize a pinger with setAuthorizedPinger to call pingByPinger.

  • Set Emergency Owner:

    • Use setEmergencyOwner to designate an emergency owner for key loss scenarios.

    • Requirements: Contract not paused.

  • Update Heirs:

    • Deploy a new HeirModule and call setHeirModule with an ECDSA signature.

    • Requirements: Contract not paused.

  • Pause/Unpause:

    • Call pause to disable sensitive operations (withdraw, setEmergencyOwner, setHeirModule, setAuthorizedPinger).

    • Call unpause to re-enable them.

How to Interact:

  1. Navigate to the Vault’s address on a block explorer (e.g., Etherscan).

  2. Go to the “Contract” tab and select “Write Contract.”

  3. Connect your wallet (must be the owner address) via “Connect to Web3.”

  4. Locate the desired function, input parameters, and click “Write” to send the transaction.