Conversation
Contributor
Author
This stack of pull requests is managed by Graphite. Learn more about stacking. |
dbanks12
commented
Apr 30, 2025
Comment on lines
-40
to
+57
| pub unconstrained fn get_contract_instance_deployer_internal_avm( | ||
| unconstrained fn get_contract_instance_deployer_internal_avm( | ||
| address: AztecAddress, | ||
| ) -> (Field, bool) { | ||
| ) -> [GetContractInstanceResult; 1] { | ||
| get_contract_instance_deployer_oracle_avm(address) | ||
| } | ||
| pub unconstrained fn get_contract_instance_class_id_internal_avm( | ||
| unconstrained fn get_contract_instance_class_id_internal_avm( | ||
| address: AztecAddress, | ||
| ) -> (Field, bool) { | ||
| ) -> [GetContractInstanceResult; 1] { | ||
| get_contract_instance_class_id_oracle_avm(address) | ||
| } | ||
| pub unconstrained fn get_contract_instance_initialization_hash_internal_avm( | ||
| unconstrained fn get_contract_instance_initialization_hash_internal_avm( | ||
| address: AztecAddress, | ||
| ) -> (Field, bool) { | ||
| ) -> [GetContractInstanceResult; 1] { |
Contributor
Author
There was a problem hiding this comment.
We need create a struct inside an array of length 1 because we need this to compile to a brillig opcode with one destination HeapArray where the first entry is bool and second is field. If we just use a struct, it'll compile to a brillig opcode with two destination MemoryAddresses.
Also, not sure why these were pub before since they're internal. Is it okay to remove pub here? @benesjan
Contributor
Contributor
Author
There was a problem hiding this comment.
Lol yes I know! 🤣 I had to hover many lines before I found your name in the file. But since you're an "aztec nr code owner" so to say, I thought I'd make sure this is okay!
53169db to
cb68e71
Compare
…set gets exists and dstOffset+1 gets instance member
cb68e71 to
16b4193
Compare
IlyasRidhuan
approved these changes
May 1, 2025
| // Setters for inputs and output for gadgets/subtraces. These are used for register allocation. | ||
| void set_inputs(std::vector<TaggedValue> inputs) { this->inputs = std::move(inputs); } | ||
| void set_outputs(std::vector<TaggedValue> outputs) { this->outputs = std::move(outputs); } | ||
| void set_output(TaggedValue output) { this->output = std::move(output); } |
IlyasRidhuan
added a commit
that referenced
this pull request
Mar 13, 2026
`sel_op_dc_17` was unused since #13971 and can be safely removed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


This is easier to constrain in the AVM as otherwise it is the only opcode with two destination offset operands.