authorizeSession method

void Function(Transaction) authorizeSession({
  1. required String wrapperId,
  2. required String session,
  3. required Object durationMs,
})

Grant session authority over the Account until now + durationMs. Authority is derived from the transaction SENDER, so the owner must sign this. durationMs (int or BigInt, raw milliseconds) must be > 0 and <= MAX_SESSION_DURATION_MS; an Account holds at most MAX_SESSIONS_PER_ACCOUNT distinct addresses. Re-authorizing an address replaces its expiry in place and consumes no additional slot.

Implementation

void Function(Transaction) authorizeSession({
  required String wrapperId,
  required String session,
  required Object durationMs,
}) =>
    (tx) {
      sessions.authorizeSession(
        config: _generatedConfig,
        arguments: {
          'wrapper': wrapperId,
          'session': session,
          'durationMs': durationMs,
        },
      )(tx);
    };