signAuthorization function

AuthorizationTuple signAuthorization(
  1. Signer signer,
  2. UnsignedAuthorization auth
)

Signs an UnsignedAuthorization using the provided Signer and returns a complete AuthorizationTuple.

This method:

  1. Builds the canonical authorization preimage via createAuthPreImage.
  2. Signs the preimage using the given signer.
  3. Wraps the original authorization fields and the resulting EIP7702MsgSignature into an AuthorizationTuple.

Example:

final unsigned = (
  chainId: BigInt.from(1),
  delegateAddress: myImplAddress,
  nonce: BigInt.one,
);

final tuple = signAuthorization(signer, unsigned);

Implementation

AuthorizationTuple signAuthorization(
  Signer signer,
  UnsignedAuthorization auth,
) {
  final preImage = createAuthPreImage(auth);
  final sig = signer.sign(preImage);
  return (auth: auth, signature: sig);
}