Skip to content

Conversation

RodrigoAD
Copy link
Member

@RodrigoAD RodrigoAD commented Oct 13, 2025

Needs #129 merged

@RodrigoAD RodrigoAD force-pushed the update-mcms-cs branch 3 times, most recently from 66e3ee1 to 7a7122e Compare October 16, 2025 11:04

mcmsPackageId := state.MCMSPackageID
// If MCMS is not deployed, deploy it
if mcmsPackageId == "" {
Copy link
Member Author

Choose a reason for hiding this comment

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

Adding to be backwards compatible with core integration tests, should be removed after those tests are updated

Copy link
Contributor

Choose a reason for hiding this comment

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

Why is MCMS deployment going to be removed?

Copy link
Member Author

Choose a reason for hiding this comment

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

It doesn't need to, but doesn't makes sense to wait to deploy Sui to start deploying MCMS. MCMS deployments can happen before that

}

// init transfer ownership to MCMS
_, err = cld_ops.ExecuteOperation(
Copy link
Member Author

Choose a reason for hiding this comment

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

Every CCIP sequence inits the ownership transfer to MCMS. The next step is to execute the MCMS accept ownership proposal

)

// Exports every operation available so they can be registered to be used in dynamic changesets
var AllOperationsCCIP = []cld_ops.Operation[any, any, any]{
Copy link
Member Author

Choose a reason for hiding this comment

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

Each package will expose their operations in a registry Op collection. This operations can later be dynamically pulled by the MCMS proposal generator sequence

Results map[ContractType]string // Transaction digests
}

var ExecuteOwnershipTransferToMcmsSequence = cld_ops.NewSequence(
Copy link
Member Author

Choose a reason for hiding this comment

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

After the Accept Ownership proposal is executed, a last execute_ownership_transfer call is needed to confirm the transfer. This sequence wraps every package ExecuteOwnershipTransfer operation

)

// Exports every operation available so they can be registered to be used in dynamic changesets
var AllOperations = func() []cld_ops.Operation[any, any, any] {
Copy link
Member Author

Choose a reason for hiding this comment

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

All operations available in chainlnk-sui will be collected here

const (
// DefaultGasBudget is the default gas budget for transactions
DefaultGasBudget uint64 = 10_000_000
DefaultGasBudget uint64 = 500_000_000
Copy link
Contributor

Choose a reason for hiding this comment

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

Are we actually increasing this default to 500_000_000? If that's the case we should probably remove the 50_000_000s we have in mcms repo.

Copy link
Contributor

Choose a reason for hiding this comment

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

This is probably temporary until a version of MCMS is cut, right?

Copy link
Member Author

Choose a reason for hiding this comment

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

Will remove it

@@ -0,0 +1,1300 @@
// Code generated - DO NOT EDIT.
Copy link
Contributor

Choose a reason for hiding this comment

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

Why this one hasn't been generated before? What changed?

Copy link
Contributor

Choose a reason for hiding this comment

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

Just saw the updates to scripts/generate_bindings.sh

Copy link
Member Author

@RodrigoAD RodrigoAD Oct 17, 2025

Choose a reason for hiding this comment

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

offramp and onramp call encoding need to go through the ownable now. We didn't need ownable before this


mcmsPackageId := state.MCMSPackageID
// If MCMS is not deployed, deploy it
if mcmsPackageId == "" {
Copy link
Contributor

Choose a reason for hiding this comment

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

Why is MCMS deployment going to be removed?


// VerifyPreconditions implements deployment.ChangeSetV2.
func (d MCMSExecuteTransferOwnership) VerifyPreconditions(e cldf.Environment, config MCMSExecuteTransferOwnershipInput) error {
return nil
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we check that at least one of the inputs is true? Just to early return in this case.

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