sign method

Future<LogicSignature> sign({
  1. required Account account,
  2. MultiSigAddress? multiSigAddress,
})

Sign a logic signature with account secret key.

Implementation

Future<LogicSignature> sign({
  required Account account,
  MultiSigAddress? multiSigAddress,
}) async {
  if (multiSigAddress != null) {
    return _signLogicSigAsMultiSig(
      account: account,
      address: multiSigAddress,
    );
  }
  // Get the encoded program
  final encodedProgram = getEncodedProgram();

  // Sign the program with secret key
  final signature = await crypto.Ed25519().sign(
    encodedProgram,
    keyPair: account.keyPair,
  );

  // Update the signature
  return copyWith(
    signature: Signature(bytes: Uint8List.fromList(signature.bytes)),
  );
}