debugForceAddressBalanceCoverage top-level property

bool debugForceAddressBalanceCoverage
getter/setter pair

Resolves CoinWithBalance $Intent commands into concrete commands.

The intent (created by Transaction.coin() / Transaction.balance(), or carried in a dApp's serialized transaction) asks for a coin or balance of an exact amount. This resolves it at build time by choosing between the account's two fund sources:

  • Address balance (per-address accumulator) — withdrawn via redeem_funds; a transfer built entirely this way is gasless-eligible.
  • Owned coin objects — merged then split. It mirrors the two-path strategy of the on-chain-aware reference resolver: Path 1 (all balance-output intents and address balance sufficient) does a direct per-intent balance::redeem_funds; Path 2 merges available sources (address balance, gas coin, or owned coins) and splits all intents at once, converting to Balance via coin::into_balance for balance outputs and returning any remainder to the address balance via coin::send_funds. Test hook: pretend every CoinWithBalance intent is fully covered by the sender's address balance, skipping the client-side sufficiency check and coin lookup. Lets a knowingly-underfunded transaction reach the node to probe node-side validation (signature scheme, expiration rules) in isolation. Never enable outside tests/debug probes.

Implementation

bool debugForceAddressBalanceCoverage = false;