Skip to content

Calldata V2#80

Open
EvgenKor wants to merge 24 commits intodevelopfrom
enhancement/memo-format
Open

Calldata V2#80
EvgenKor wants to merge 24 commits intodevelopfrom
enhancement/memo-format

Conversation

@EvgenKor
Copy link
Collaborator

@EvgenKor EvgenKor commented Feb 26, 2024

To support decentralized relayer architecture the transaction calldata format should be changed to support new fields such as proxy address and prover fee. The following major changes were introduced:

  • added TxOperator entity to describe proxy and prover fees and proxy address. TxOperator is a substitution for fee field (libzkbob-rs)
  • symmetric encryption scheme was applied for the new memo format only
  • adapted create_tx to creating universal transaction calldata for both versions (libzkbob-rs)
  • added is_obsolete_pool to the UserAccount initializers to support old memo format (libzkbob-rs, libzkbob-rs-wasm)
  • added ExtraItem struct to describe additional user artefacts for the transaction. ExtraItem isn't implemented for now completely: it's a part of input transaction but will not be included in the output calldata (libzkbob-rs)
  • skipping transaction with parsing error during local state sync (libzkbob-rs-wasm)

The following libraries versions will produced after the merging of this PR:

  • libzkbob-rs 1.4.0
  • libzkbob-rs-node 1.2.0
  • libzkbob-rs-wasm 1.7.0

New calldata format described here as a draft

libzkbob-rs-wasm library was published as a beta (single-thread, multi-theread) and using in the following chain:

Copy link

@AllFi AllFi left a comment

Choose a reason for hiding this comment

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

Looks good to me

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.

2 participants