-
Notifications
You must be signed in to change notification settings - Fork 576
feat(avm)!: protocol contracts #16949
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This stack of pull requests is managed by Graphite. Learn more about stacking. |
456e151 to
39a42f9
Compare
barretenberg/cpp/src/barretenberg/vm2/simulation/protocol_contracts.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm2/simulation/protocol_contracts.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm2/simulation/protocol_contracts.cpp
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm2/tracegen/contract_instance_retrieval_trace.cpp
Show resolved
Hide resolved
39a42f9 to
b81188f
Compare
dbanks12
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looking good once others' concerns are addressed
cf0917e to
498f6c9
Compare
barretenberg/cpp/pil/vm2/bytecode/contract_instance_retrieval.pil
Outdated
Show resolved
Hide resolved
barretenberg/cpp/src/barretenberg/vm2/simulation/protocol_contracts.cpp
Outdated
Show resolved
Hide resolved
498f6c9 to
4e4f4ce
Compare
4e4f4ce to
f36563d
Compare
fbb4bfc to
5e7e9eb
Compare
sirasistant
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good on my side
5e7e9eb to
6f7b4ad
Compare
PR changes the approach for handling protocol contracts in the AVM. Introduces a `ProtocolContractSetInterface` that manages the static (per rollup deployment) set of protocol contract's derived addresses. The current implementation of this set is as an indexed merkle tree - although hopefully we are able to migrate to a simpler (non-indexed tree) structure. When retrieving the derived address for a protocol contract, we also produce a merkle membership path that is checked against the L1 public contracts tree root (currently unconstrained). This will eventually be included in the public inputs of the AVM. There is a new corresponding subtrace for the protocol contracts derived address retrieval The map of canonical address to derived address is hinted via TS as part of `AvmExecutionHints`
PR changes the approach for handling protocol contracts in the AVM. Introduces a `ProtocolContractSetInterface` that manages the static (per rollup deployment) set of protocol contract's derived addresses. The current implementation of this set is as an indexed merkle tree - although hopefully we are able to migrate to a simpler (non-indexed tree) structure. When retrieving the derived address for a protocol contract, we also produce a merkle membership path that is checked against the L1 public contracts tree root (currently unconstrained). This will eventually be included in the public inputs of the AVM. There is a new corresponding subtrace for the protocol contracts derived address retrieval The map of canonical address to derived address is hinted via TS as part of `AvmExecutionHints`
PR changes the approach for handling protocol contracts in the AVM. Introduces a `ProtocolContractSetInterface` that manages the static (per rollup deployment) set of protocol contract's derived addresses. The current implementation of this set is as an indexed merkle tree - although hopefully we are able to migrate to a simpler (non-indexed tree) structure. When retrieving the derived address for a protocol contract, we also produce a merkle membership path that is checked against the L1 public contracts tree root (currently unconstrained). This will eventually be included in the public inputs of the AVM. There is a new corresponding subtrace for the protocol contracts derived address retrieval The map of canonical address to derived address is hinted via TS as part of `AvmExecutionHints`
PR changes the approach for handling protocol contracts in the AVM. Introduces a `ProtocolContractSetInterface` that manages the static (per rollup deployment) set of protocol contract's derived addresses. The current implementation of this set is as an indexed merkle tree - although hopefully we are able to migrate to a simpler (non-indexed tree) structure. When retrieving the derived address for a protocol contract, we also produce a merkle membership path that is checked against the L1 public contracts tree root (currently unconstrained). This will eventually be included in the public inputs of the AVM. There is a new corresponding subtrace for the protocol contracts derived address retrieval The map of canonical address to derived address is hinted via TS as part of `AvmExecutionHints`

PR changes the approach for handling protocol contracts in the AVM.
Introduces a
ProtocolContractSetInterfacethat manages the static (per rollup deployment) set of protocol contract's derived addresses. The current implementation of this set is as an indexed merkle tree - although hopefully we are able to migrate to a simpler (non-indexed tree) structure.When retrieving the derived address for a protocol contract, we also produce a merkle membership path that is checked against the L1 public contracts tree root (currently unconstrained). This will eventually be included in the public inputs of the AVM. There is a new corresponding subtrace for the protocol contracts derived address retrieval
The map of canonical address to derived address is hinted via TS as part of
AvmExecutionHints