style(validate): fix import ordering in phase2 error module
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
The previous version required a separate `bumpalo::Bump` alongside the `Arena` to construct slices, because amaru-uplc's `Arena` only exposes `alloc<T>` / `alloc_integer`. Match the upstream amaru node's pattern: CBOR-encode the pallas `PlutusData` and call `PragmaPlutusData::from_cbor(&arena, &bytes)`. The decoder allocates slices and integers into the arena internally, so we no longer need a parallel Bump or the `num-bigint` dep, and the manual `map_pallas_data_to_pragma_data` recursion goes away. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Signed-off-by: Chris Gianelloni <[email protected]>
Use the official `amaru-uplc` crate from pragma-org/uplc instead of the `pallas-uplc` fork on crates.io (published from txpipe/uplc-turbo). API differences required: - evaluator allocations now use `amaru_uplc::arena::Arena`; a separate `bumpalo::Bump` is kept for slice allocations since `Arena` only exposes `alloc<T>` / `alloc_integer` - `Integer = num::BigInt`, so `integer_from_bytes_and_sign` is replaced with `arena.alloc_integer(BigInt::from_bytes_be(sign, ..))` - `flat::decode` now requires `PlutusVersion` and `protocol_version_major`, threaded through `eval_tx` -> `eval_redeemer` -> `execute_script` - `program.eval` is replaced with `program.eval_version` so each script runs with its own Plutus version semantics Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
It was using block slots of all nodes and failed when we had one block certifying, e.g.: certifyingSlots = [91, 91, 91] This adds an assertion that (slots of) chains are consistent and either the gap is correct or only a single block certifies.
Signed-off-by: KtorZ <[email protected]>
Reduce STM contention in V2 TxSubmission inbound by splitting per-peer in-flight bookkeeping out of SharedTxState into a small per-peer PeerTxInFlight TVar. SharedTxState is now only written when the shared state updates. The common case of a new peer advertising an existing txid is just a read operation for the shared state and a write operation into the peer local TVar.
Bumps [github.com/utxorpc/go-codegen](https://github.com/utxorpc/go-codegen) from 0.18.1 to 0.19.0. - [Release notes](https://github.com/utxorpc/go-codegen/releases) - [Commits](https://github.com/utxorpc/go-codegen/compare/v0.18.1...v0.19.0) --- updated-dependencies: - dependency-name: github.com/utxorpc/go-codegen dependency-version: 0.19.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: zeme-wana <[email protected]>