createAuthorization method
Creates and signs an EIP-7702 authorization for contract delegation.
Implementation
Future<Authorization> createAuthorization({
required String contractAddress,
required BigInt nonce,
}) async {
final authorization = Authorization.unsigned(
chainId: chain.chainId,
address: contractAddress,
nonce: nonce,
);
final signature = await signAuthorization(authorization);
// Extract signature components
final r = signature.sublist(0, 32);
final s = signature.sublist(32, 64);
final yParity = signature[64];
return authorization.withSignature(
yParity: yParity,
r: _bytesToBigInt(r),
s: _bytesToBigInt(s),
);
}