Skip to content

Conversation

@saitunc
Copy link
Contributor

@saitunc saitunc commented Jan 12, 2026

Changes

In this PR, it is aimed to convert from provable types to non-provable types in out-of-circuit code.

Starting point changes in this refactoring was to implement or convert to JSON type of the followings:

  • Block
  • BlockWithResult

And since they are

  • TransactionExecutionResult
  • PendingTransaction
  • StateTransitionBatch
  • UntypedStateTransition
  • NetworkState

Especially last 3 is used all around the Sequencing and Tracing modules.

Commits

UntypedStateTransition & StateTransitionBatch

  • Implement UntypedStateTransitionJson 0199877 ( rename: 5934a13 )
  • Implement in block and tracing services 0199877
  • Change in tracing, block result services 5934a13

TransactionExecutionResult

  • Implemented Json interface, TransactionExecutionResultJson b017bb5
  • Implement conversion function between json type and provable type to use when needed 08f95bb
  • Changed in execution and tracing 564ba7a
  • Changed in Prisma storage 6905b36
  • Changed in various modules fb4c854

PendingTransaction

  • Changed in PrivateMempool d3c9336
  • Changed in various modules d5b6d7b
  • Changed in storage and mempool d8558f9
  • Changed in execution and tracing 564ba7a

NetworkState

  • Define NetworkStateJson by inferring it from Struct c29a51d
  • add RuntimeProofParametersJson type with NetworkStateJson and PendingTransactionJsonType a4ac392

Miscellanous

  • refactor CllientBlock with value types 1093afe

#### Test

  • Updated changes in test files 57ad69d

This PR closes #201

saitunc and others added 30 commits January 7, 2026 10:34
Comment on lines +44 to +50
export class PendingTransaction {
public readonly hash: string;

public readonly methodId: string;

public readonly nonce: string;

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Moved it up to fix linting issues.

@saitunc saitunc requested a review from rpanic January 20, 2026 10:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor non-provable codebase to use value-types instead of provable types

3 participants