startPoolValuation function

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

Begin a full-pool valuation using a registry-issued pool-valuation proof. The proof grants control over when current oracle state is frozen for queued LP fills. Starting engages the cross-transaction valuation flag, snapshots the active expiry set and each LP queue's eligibility cutoff, and opens the atomic snapshot stage: freeze every active market's pricer under the returned SnapshotStage, then seal it in the same transaction.

Implementation

MoveCallBuilder startPoolValuation(
    {dynamic arguments, String? package, Map<String, dynamic>? config}) {
  final packageAddress = package ??
      (config?['predictPackageId'] as String?) ??
      '@local-pkg/deepbook_predict';
  return (tx) => tx.moveCall(
        '$packageAddress::plp::start_pool_valuation',
        arguments: normalizeMoveArguments(
            tx,
            withConfigDefaults(arguments, config,
                const {'config': 'protocolConfig', 'vault': 'poolVault'}),
            [
              null,
              null,
              null,
              '0x1::option::Option<u64>',
              '0x1::option::Option<u64>',
              '0x2::clock::Clock'
            ],
            [
              'config',
              'vault',
              'valuationProof',
              'supplyBudget',
              'withdrawBudget'
            ]),
      );
}