Skip to content

Conversation

@ibremseth
Copy link
Collaborator

@ibremseth ibremseth commented Aug 27, 2025

Ticket

What does this PR do?

  • Summary:
    • Add upgradability to core contracts + factory.

Breaking changes?

  • Yes

Documentation

  • Add markdown file about contract upgradeability.

How can this PR be tested?

  • forge test

ibremseth and others added 9 commits August 27, 2025 17:45
namespaced storage slots are an alternative to gap variables that prevent
storage layout conflicts when modifying the base contracts
use struct_link instead of link as the contract storage variable is now
a struct field
enable gas traacking in the syndicate sequencing chain contract
update certora tests
tsite and others added 2 commits August 28, 2025 02:27
Previously, signed transactions were represented verbatim, unsigned ones
as the unsigned tx type prefix, and compressed ones as null. Now
unsigned transactions include the full tx data so that the sequencing module
can use it as part of the isAllowed() check. Additionally, signed transactions
include the signed transaction type prefix to make them easier to detect,
prevent collisions with the other tx types, and allow for new tx types
with a different prefix byte to be added in the future. Finally
compressed transactions are represented as the compressed tx prefix byte
instead of null to prevent reverts when checking the tx type.
Copy link
Contributor

@WillPapper WillPapper left a comment

Choose a reason for hiding this comment

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

Some key questions on security. Let me know if you have answers here

@gustavoguimaraes gustavoguimaraes marked this pull request as ready for review September 5, 2025 16:11
@gustavoguimaraes gustavoguimaraes changed the title First pass at updating seq chains contract to UUPS upgradability Seq chains contract to UUPS upgradability Sep 8, 2025
gustavoguimaraes and others added 2 commits September 9, 2025 12:22
* add fee for appchain contracts creation

* make -C shared create-contract-bindings

* Update synd-contracts/src/factory/SyndicateFactory.sol

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@gustavoguimaraes gustavoguimaraes marked this pull request as draft September 9, 2025 13:48
@@ -0,0 +1,17 @@
# Claude Code Preferences
Copy link
Contributor

Choose a reason for hiding this comment

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

do we need/want this file?

Copy link
Contributor

Choose a reason for hiding this comment

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

Yes. It is for claude to know rules for when it adds code.

Comment on lines +1 to +4
{
"storage": [],
"types": {}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

this doesn't look right. Can we update this to make sure the storage doesn't change?

Copy link
Contributor

Choose a reason for hiding this comment

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

We want if new variables are added to the SyndicateSequencingChain contract. If new vars are added the CI will pick it up and error that the layout has changed so we need to check if all is well.


## Code Style

- Always run `forge fmt --check` for linting
Copy link
Collaborator

Choose a reason for hiding this comment

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

if we do keep this file, let's please remove the forge fmt thingy. otherwise it will waste a lot of agent cycles. its litteraly 1 command to run before git commit.

@sammdec
Copy link
Collaborator

sammdec commented Sep 17, 2025

Closing this so we dont have draft PR's hanging around too long but we will come back to this work with the larger upgrade process project

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.

8 participants