Skip to content

tron-goblin-node v1.2.1

Latest

Choose a tag to compare

@Gingerbreadfork Gingerbreadfork released this 29 Jul 14:59
· 5 commits to master since this release

tron-goblin-node v1.2.1

Consensus fix: a transaction's id and signature-recovery preimage are now
derived from its ORIGINAL wire bytes.

java hashes a tx's raw_data exactly as it arrived on the wire
(TransactionCapsule.getRawHash), keeping unknown protobuf fields; our tx id
previously hashed a prost re-encode, which drops them. For mainnet txs that
append a stray field to raw_data (seen on some energy-rental
Delegate/UnDelegateResource txs) this produced a wrong tx id and a garbage
recovered signer, so the node falsely rejected — with PermissionDenied — a
transaction the network accepted, diverging state.

  • The tx id and signature preimage now hash the raw_data wire span
    (byte-identical to the previous re-encode for canonical txs), threaded from
    the block bytes through the apply, pipeline, Block-STM, mempool, index,
    RPC/gRPC, firehose and both reorg paths; blocks are stored verbatim.
  • A transaction whose owner account does not yet exist now synthesizes java's
    default owner / active permission instead of being rejected (a separate
    permission-parity gap).

No API or config changes. Workspace tests 3282 -> 3297.