setFrozen function
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']),
);
}