chore: upgrade crate versions
* [js] mithril-explorer from `0.7.51` to `0.8.0`
* [js] mithril-explorer from `0.7.51` to `0.8.0`
- reduces manual state tracking by using `FormData` to retrieve submitted values - replaces redundant props with destructured parameters - removes unused logic
+ Remove the `<Form>` that was wrapping the `AggregatorSetter` and `IntervalSetter`. Goal: avoid stacked forms in the UI.
Explorer will only show its main UI when the store is fully loaded, this avoids timing issues such as loading the aggregator from the URL which may be overriden by init logic. Add fallback loaders for `Provider` and `Suspense` to improve user experience during the loading phase.
streamline store initialization and state preloading logic Consolidate state preloading with `getPreloadedStateFromLocalStorage` and introduce `getEmptyPreloadedState` for default states.
Extend TinyWallet with isTxWithinSizeLimits to check serialised tx byte size against ppMaxTxSizeL from current protocol parameters. Replace the linear scan in findFittingFanoutTx with a binary search (findLargestFitting) that finds the largest chunk that fits within both size and script execution limits. A short-circuiting fitsTx check runs the cheap size check before the expensive UPLC evaluation. Structural failures from partialFanout abort the search immediately since they are independent of chunk size. Both functions are extracted as testable top-level exports and covered by property tests: fitsTx tests verify short-circuit behaviour and correct result combination using real Cardano protocol parameters and evaluateTx; findLargestFitting tests verify the monotone-predicate property and the O(log n) evaluation bound using the built-in Monad instance for (,) (Sum Int). Signed-off-by: Sasha Bogicevic <[email protected]>
- HeadLogic: FanoutInProgress case must convert Set (TxOutType tx) to
UTxOType tx via filterUTxOByOutputs/computeFullFanoutUTxO before passing
to FinalPartialFanoutTx.utxoToDistribute
- State/Handlers: remove non-existent splitUTxOAt and sizeUTxO (were
introduced in the branch but never added to Hydra.Tx); inline the UTxO
split using take/drop on UTxO.toList, and replace sizeUTxO with UTxO.size
- HeadLogicSpec: remainingUTxO field renamed to remainingOutputs (master's
name from the partial-fanout PR); replace removed PartialFanoutTx
PostChainTx constructor with FinalPartialFanoutTx
- HandlersSpec/StateSpec: add missing imports (finalPartialFanout,
unsafePartialFanout, UTxO); rewrite splitUTxOAt tests with inline splits
Signed-off-by: Sasha Bogicevic <[email protected]>
Also reduce a diff in the test code Signed-off-by: Sasha Bogicevic <[email protected]>
Replace the hardcoded numToDistribute = totalUTxO - 1 in the partial fanout benchmarks with a binary search that finds the largest chunk actually fitting within both the tx size and execution budget, mirroring findFittingFanoutTx in the real node. The Remaining column in the output table now carries meaningful information instead of always showing 1. Also add ContestationDeadlineOutsideTimeHorizon to the PostTxError oneOf in api.yaml, which was defined in Chain.hs but missing from the schema, causing ServerOutputSpec to fail. Signed-off-by: Sasha Bogicevic <[email protected]>
computeFinalPartialFanOutCost was capped at 7 (fanoutChunkSize), hiding the real tx-size limit for the terminal fanout step. Now it sweeps a wide range and searches for the actual maximum, using a single preceding output as minimal setup to reach FanoutProgress. computePartialFanOutMixedCost also dropped its fanoutChunkSize cap and now distributes all-but-one outputs, consistent with the nominal benchmark. The stale description mentioning fanoutChunkSize is corrected accordingly. Signed-off-by: Sasha Bogicevic <[email protected]>
Signed-off-by: Sasha Bogicevic <[email protected]>
fanoutChunkSize and fanoutOutputThreshold are now defined once in Test.Hydra.Tx.Fixture and imported wherever needed, removing the per-file duplicates. prepareTxToPost gains explicit FanoutTx/FinalPartialFanoutTx branches (error) so GHC's exhaustiveness checker catches any future unhandled constructor, instead of silently falling through a wildcard. The two deadline-slot conversions in mkChain.postTx now throw FailedToConstructFanoutTx (a PostTxError Tx) instead of userError, so the exception is caught by Node.hs's PostTxError handler rather than propagating uncaught and crashing the node.
HeadLogic no longer uses fanoutChunkSize or fanoutOutputThreshold to decide which tx type to emit. For a fresh fanout it always emits FanoutTx; for an in-progress fanout it always emits FinalPartialFanoutTx. Handlers now owns the sizing decision: it tries the preferred tx first, then falls back to PartialFanoutTx with a decreasing chunk size (starting at N-1) until one fits within the execution budget, using a single shared findFittingFanoutTx helper. PartialFanoutTx is removed from PostChainTx — it is now an internal Handlers detail, never emitted by HeadLogic. fanoutChunkSize and fanoutOutputThreshold are removed from KZGTrustedSetup and all call sites.
Signed-off-by: Sasha Bogicevic <[email protected]>
updated: - recommended node version - link to rosetta java releases page - db-sync version - graphql version
## Description Refactoring of deployment script: - Removed version comparisons. - New cleaner and more consistent output. - `libncursesw6` deployed for Ubuntu 26+ --------- Co-authored-by: RdLrT <[email protected]>