What
The L2PS transaction executor processes the inner amount of an L2PS native transfer through raw BigInt(amount) arithmetic. There is no fork-aware canonicalisation: the L1 native path goes through canonicalizeAmountToOs, the L2PS executor does not.
Why this matters
After the osDenomination fork, every L2PS native transfer moves the wrong amount of value — about one part in a billion of what the sender intended — because the executor treats a post-fork OS string the same way a pre-fork DEM number was treated. A post-fork OS string amount is also rejected by the executor's number-only validation, so some transfers fail outright.
Fix
Mirror the L1 native path inside the L2PS executor: pass the amount and the fee through canonicalizeAmountToOs, emit OS-string GCR edits post-fork, and keep the exact bigint path for pre-fork strings. The L2PS_TX_FEE value stays the same; only the arithmetic is canonicalised (1 DEM becomes 10⁹ OS).
Source
Surfaced by the PATH-OS L2PS hardening report. Their patch + 17-vector test harness ("tombstone") is ready to submit; this ticket tracks whether we apply that patch or replicate the fix in our own PR.
Status
Todo.
What
The L2PS transaction executor processes the inner
amountof an L2PS native transfer through rawBigInt(amount)arithmetic. There is no fork-aware canonicalisation: the L1 native path goes throughcanonicalizeAmountToOs, the L2PS executor does not.Why this matters
After the osDenomination fork, every L2PS native transfer moves the wrong amount of value — about one part in a billion of what the sender intended — because the executor treats a post-fork OS string the same way a pre-fork DEM number was treated. A post-fork OS string amount is also rejected by the executor's number-only validation, so some transfers fail outright.
Fix
Mirror the L1 native path inside the L2PS executor: pass the amount and the fee through
canonicalizeAmountToOs, emit OS-string GCR edits post-fork, and keep the exact bigint path for pre-fork strings. TheL2PS_TX_FEEvalue stays the same; only the arithmetic is canonicalised (1 DEM becomes 10⁹ OS).Source
Surfaced by the PATH-OS L2PS hardening report. Their patch + 17-vector test harness ("tombstone") is ready to submit; this ticket tracks whether we apply that patch or replicate the fix in our own PR.
Status
Todo.