Skip to content

add support for new SIP-034 tenure change reasons #2383

@rafaelcr

Description

@rafaelcr

Stacks core added new tenure change reasons in SIP-034. They're not being used on mainnet yet but we should add API support for these ASAP to avoid stalls when they begin rolling them out.

The Stacks Foundation has been running some tests with these new reasons and they run into this error:

2025-12-01T09:52:03.336463901Z {"level":"error","time":"2025-12-01T09:52:03.336Z","pid":1,"hostname":"6472b37ae5a7","name":"stacks-blockchain-api","component":"core-api","err":{"type":"Error","message":"Failed to decode transaction: DeserializeError { error: \"Failed to parse transaction: invalid tenure change cause 3\" }\n","stack":"Error: Failed to decode transaction: DeserializeError { error: \"Failed to parse transaction: invalid tenure change cause 3\" }\n\n    at parseMessageTransaction (/app/src/event-stream/reader.ts:927:32)\n    at /app/src/event-stream/event-server.ts:1021:45\n    at Array.forEach (<anonymous>)\n    at parseNewBlockMessage (/app/src/event-stream/event-server.ts:1020:20)\n    at handleBlockMessage (/app/src/event-stream/event-server.ts:244:30)\n    at /app/src/event-stream/event-server.ts:699:48\n    at observeEvent (/app/src/event-stream/event-server.ts:681:13)\n    at /app/src/event-stream/event-server.ts:699:20\n    at run (/app/node_modules/p-queue/dist/index.js:157:104)\n    at PQueue._tryToStartAnother (/app/node_modules/p-queue/dist/index.js:105:17)"},"msg":"Error processing core node block message"}
2025-12-01T09:52:03.336481197Z {"level":"error","time":"2025-12-01T09:52:03.336Z","pid":1,"hostname":"6472b37ae5a7","name":"stacks-blockchain-api","component":"core-api","err":{"type":"Error","message":"Failed to decode transaction: DeserializeError { error: \"Failed to parse transaction: invalid tenure change cause 3\" }\n","stack":"Error: Failed to decode transaction: DeserializeError { error: \"Failed to parse transaction: invalid tenure change cause 3\" }\n\n    at parseMessageTransaction (/app/src/event-stream/reader.ts:927:32)\n    at /app/src/event-stream/event-server.ts:1021:45\n    at Array.forEach (<anonymous>)\n    at parseNewBlockMessage (/app/src/event-stream/event-server.ts:1020:20)\n    at handleBlockMessage (/app/src/event-stream/event-server.ts:244:30)\n    at /app/src/event-stream/event-server.ts:699:48\n    at observeEvent (/app/src/event-stream/event-server.ts:681:13)\n    at /app/src/event-stream/event-server.ts:699:20\n    at run (/app/node_modules/p-queue/dist/index.js:157:104)\n    at PQueue._tryToStartAnother (/app/node_modules/p-queue/dist/index.js:105:17)"},"msg":"error processing core-node /new_block"}

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions