setFrozen function

MoveCallBuilder setFrozen({
  1. dynamic arguments,
  2. String? package,
  3. Map<String, dynamic>? config,
})

Set the protocol-wide emergency freeze.

Intentionally NOT version-gated, unlike every other admin setter: the freeze gate lives inside assert_version, so routing this through it would make an engaged freeze unclearable without a package upgrade — defeating the point.

Implementation

MoveCallBuilder setFrozen(
    {dynamic arguments, String? package, Map<String, dynamic>? config}) {
  final packageAddress = package ??
      (config?['predictPackageId'] as String?) ??
      '@local-pkg/deepbook_predict';
  return (tx) => tx.moveCall(
        '$packageAddress::protocol_config::set_frozen',
        arguments: normalizeMoveArguments(
            tx,
            withConfigDefaults(
                arguments, config, const {'config': 'protocolConfig'}),
            [null, null, 'bool'],
            ['config', 'AdminCap', 'frozen']),
      );
}