Zebec Multisig Stream

This class, ZebecMultisigStream, serves as a factory for generating data that can be used with the Gnosis Safe SDK to create and execute transactions on the Ethereum blockchain. Here's a brief overview of what this class does:

  1. Constructor: Initializes an instance of the class by connecting to the Core contract using a provided signer or provider. The contract address can be optionally specified.

  2. Deposit:

    • depositToken: Generates transaction data for depositing tokens into the contract, returning an array of data including approval data (for non-Ether tokens) and deposit data.

  3. Deposit to Safe:

    • depositToSafe: Generates transaction data for depositing tokens or Ether into a specified safe address, and returns the transaction receipt.

  4. Withdraw Functions:

    • withdrawFromSafe: Generates transaction data for withdrawing tokens from a safe.

    • withdrawToken: Generates transaction data for withdrawing tokens from the contract.

  5. Stream Management Functions:

    • Functions for initiating, pausing, resuming, canceling, and updating streams, including generating transaction data for these actions.

  6. Instant Token Transfer Functions:

    • instantTokenTransfer: Generates transaction data for instant token transfers.

    • instantTokenTransferTNS: Generates transaction data for instant token transfers with a Transaction Name Service (TNS) integration.

  7. Utility Functions:

    • initStreamTNS: Generates transaction data for initiating a stream with TNS.

    • drainAccountFromSafe: Generates an array of transaction data for draining multiple tokens from a safe.

    • drainAccountFromZebecWallet: Generates an array of transaction data for transferring multiple tokens from a Zebec wallet to a receiver.

Overall, this class simplifies the process of preparing transaction data for various actions related to token deposits, stream management, and token transfers within the Ethereum blockchain. Users can obtain this prepared data from the class and then use it with the Gnosis Safe SDK to create and execute transactions.

Last updated