Class LogicSigAccount

Represents an account that can sign with a LogicSig program.

Implements

Constructors

  • Create a new LogicSigAccount. By default this will create an escrow LogicSig account. Call sign or signMultisig on the newly created LogicSigAccount to make it a delegated account.

    Parameters

    • program: Uint8Array

      The compiled TEAL program which contains the logic for this LogicSig.

    • Optional args: null | Uint8Array[]

      An optional array of arguments for the program.

    Returns LogicSigAccount

Properties

lsig: LogicSig
sigkey?: Uint8Array
encodingSchema: NamedMapSchema = ...

Methods

  • Get the address of this LogicSigAccount.

    If the LogicSig is delegated to another account, this will return the address of that account.

    If the LogicSig is not delegated to another account, this will return an escrow address that is the hash of the LogicSig's program code.

    Returns Address

  • Parameters

    • secretKey: Uint8Array

      The secret key of one of the members of the delegating multisig account.

    Returns void

    Deprecated

    Use appendToMultisigWithSigner

    Adds an additional signature from a member of the delegating multisig account.

  • Adds an additional signature from a member of the delegating multisig account.

    Parameters

    Returns Promise<void>

    Remarks

    LogicSigAccount.signMultisigWithSigner must have been called first to establish the multisig this signature belongs to.

  • Get the encoding Schema for this object, used to prepare the encoding data for msgpack and JSON.

    Returns Schema

  • Check if this LogicSigAccount has been delegated to another account with a signature.

    Note this function only checks for the presence of a delegation signature. To verify the delegation signature, use verify.

    Returns boolean

  • Parameters

    • secretKey: Uint8Array

      The secret key of the delegating account.

    Returns void

    Deprecated

    Use signWithSigner instead

    Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig has the authority to sign transactions on behalf of another account, called the delegating account. If the delegating account is a multisig account, use signMultisig instead.

  • Parameters

    • msig: MultisigMetadata

      The multisig delegating account

    • secretKey: Uint8Array

      The secret key of one of the members of the delegating multisig account. Use appendToMultisig to add additional signatures from other members.

    Returns void

    Deprecated

    Use signMultisigWithSigner instead

    Turns this LogicSigAccount into a delegated LogicSig. This type of LogicSig has the authority to sign transactions on behalf of another account, called the delegating account. Use this function if the delegating account is a multisig account.

  • Turns this LogicSigAccount into a delegated LogicSig, signed by one member of a delegating multisig account.

    Parameters

    Returns Promise<void>

    Remarks

    This produces a LogicSig with a single subsignature filled in. Unless the multisig's threshold is 1, call LogicSigAccount.appendToMultisigWithSigner with the remaining members' signers before the LogicSig can authorize transactions.

    If the delegating account is not a multisig, use LogicSigAccount.signWithSigner instead.

  • Turns this LogicSigAccount into a delegated LogicSig, signed by the given signer. This type of LogicSig has the authority to sign transactions on behalf of another account, called the delegating account.

    Parameters

    Returns Promise<void>

    Remarks

    If the delegating account is a multisig account, use LogicSigAccount.signMultisigWithSigner instead.

    The delegating account is taken to be the address the signer reports having signed as, not any sending address the signer advertises: for a rekeyed account the latter is the address it sends transactions from, which is not the account authorizing this delegation.

  • Encode this object into msgpack.

    Returns Uint8Array

  • Extract the encoding data for this object. This data, after being prepared by the encoding Schema, can be encoded to msgpack or JSON.

    Returns Map<string, unknown>

  • Returns boolean

    true if and only if the LogicSig program and signatures are valid.

    Deprecated

    This function does not perform full verification and should not be fully trusted on its own. For example, it does not evaluate programs and does not have the ability to validate PQ signatures.

    Verifies this LogicSig's program and signatures.

Generated using TypeDoc