test: clarify M1-F-D-defer status + add LIVECBOR_DEBUG env
While checking whether last night's localUPLCEval: false fix unblocks the 5 tx-submit-live tests skipped under TODO(M1-F-D-defer), found that those tests still crash — but at a DIFFERENT spot than before. Original UPLC issue (now fixed in production via7ea7328+fd24598): - lucid's CML WASM UPLC interpreter falsely rejected our Plutus V3 Submit/Claim/Accept txs. End-to-end chat + TTS lifecycle now works on Vector testnet by routing eval to Ogmios. New / remaining test-side issue: - Even with a proper evaluateTransaction mock response, lucid's applyUPLCEvalProvider → CML TransactionBuilder.set_exunits still panics with wasm "unreachable" inside the test fixture. The production path doesn't hit this (real Ogmios + real wallet UTxOs). Whatever the test-mock + CML interaction trips, it's separate from the original UPLC bug. Refinements landed - liveCbor.ts: opt-in LIVECBOR_DEBUG=1 env that prints the full inner err + WASM stack from rethrowAsTxError, so the next investigation doesn't need to re-add this scaffolding. - tx-submit-live.test.ts: - setupSubmitHappyPath() now mocks "evaluateTransaction" with a proper EvalRedeemer-shaped response (useful baseline for any future un-skip attempt; not enough on its own to make the tests pass). - The first skipped test's TODO comment updated to record what's fixed in production vs. what remains as a test-infra bug. Test counts unchanged (3 pass, 5 still skipped); production path still verified end-to-end on testnet. Task M1-F-D-defer stays pending but the original UPLC-interpreter blocker is gone.
This commit is contained in:
@@ -180,9 +180,25 @@ function chainUtxoToLucidScriptInput(
|
||||
}
|
||||
|
||||
/** TxConstructionError wrapping arbitrary lucid failures, surfacing
|
||||
* collateral mismatches with a stable substring so tests can assert. */
|
||||
* collateral mismatches with a stable substring so tests can assert.
|
||||
*
|
||||
* Set LIVECBOR_DEBUG=1 to see the full inner error + WASM stack — useful
|
||||
* for diagnosing lucid 0.4.30 / CML edge cases (e.g. the set_exunits
|
||||
* panic that affects test fixtures but not production). */
|
||||
function rethrowAsTxError(err: unknown, fallback: string): never {
|
||||
const msg = err instanceof Error ? err.message : String(err);
|
||||
if (process.env.LIVECBOR_DEBUG) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error("[liveCbor] inner error:", err);
|
||||
if (err instanceof Error && err.stack) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error("[liveCbor] stack:", err.stack);
|
||||
}
|
||||
if (err instanceof Error && "cause" in err) {
|
||||
// eslint-disable-next-line no-console
|
||||
console.error("[liveCbor] cause:", (err as Error & { cause?: unknown }).cause);
|
||||
}
|
||||
}
|
||||
const lower = msg.toLowerCase();
|
||||
if (
|
||||
lower.includes("collateral") ||
|
||||
|
||||
Reference in New Issue
Block a user