Conversation
Add support for the Sui and Ton chain families to the BuildInspectors and BuildConverters helper functions defined in the `chainwrappers` package. --- OPT-398 --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @smartcontractkit/mcms@0.35.0 ### Minor Changes - [#586](#586) [`19074d4`](19074d4) Thanks [@krebernisak](https://github.com/krebernisak)! - Update to latest chainlink-ton MCMS contracts version + misc fixes/improvements ### Patch Changes - [#603](#603) [`2cd7db1`](2cd7db1) Thanks [@krebernisak](https://github.com/krebernisak)! - Add wait (pending op) support for TON executors - [#610](#610) [`95b0666`](95b0666) Thanks [@gustavogama-cll](https://github.com/gustavogama-cll)! - chore: add sui and ton to chainwrappers helpers - [#611](#611) [`94f50e5`](94f50e5) Thanks [@RodrigoAD](https://github.com/RodrigoAD)! - Bumps chainlink-sui version - [#607](#607) [`40f2af0`](40f2af0) Thanks [@patricios-space](https://github.com/patricios-space)! - Bump chainlink-ton version to latest (642f6eb) Co-authored-by: app-token-issuer-engops[bot] <144731339+app-token-issuer-engops[bot]@users.noreply.github.com>
Updates the CODEOWNERS to be the entire Operations Platform team.
Revert the Solana dep bump made here: https://github.com/smartcontractkit/mcms/pull/607/changes Bump still needed, but to a specific version that has a release available: https://github.com/smartcontractkit/chainlink-ccip/releases/tag/solana-artifacts-localtest-85accaf3d28d Using the specific versions currently in core: https://github.com/smartcontractkit/chainlink/blob/develop/go.mod
|
- Adapts to latest contract changes - Removes DAML client to use raw pb client
| } | ||
|
|
||
| // deployCounterContract deploys a Counter contract for testing | ||
| func (s *MCMSTimelockTestSuite) deployCounterContract() { |
There was a problem hiding this comment.
This should be already available in common.go
There was a problem hiding this comment.
I also see it also exists in timelock_inspection.go and timelock_errors.go, let's remove it from where it's duplicated
| ChainSelector: s.chainSelector, | ||
| Transactions: []mcmstypes.Transaction{{ | ||
| To: s.counterCID, | ||
| Data: []byte("increment"), |
There was a problem hiding this comment.
Is this doing anything? If not, let's remove it to avoid confusions
| Data: []byte("increment"), | |
| Data: []byte(""), |
| ChainSelector: s.chainSelector, | ||
| Transactions: []mcmstypes.Transaction{{ | ||
| To: s.counterCID, | ||
| Data: []byte("increment"), |
There was a problem hiding this comment.
Same as before here
| Data: []byte("increment"), | |
| Data: []byte(""), |
| @@ -0,0 +1,540 @@ | |||
| //go:build e2e | |||
There was a problem hiding this comment.
This looks exactly the same as timelock.go, let's remove it
| } | ||
|
|
||
| // SetupSuite runs before the test suite | ||
| func (s *MCMSTimelockErrorTestSuite) SetupSuite() { |
There was a problem hiding this comment.
This is the same in every Timelock test, let's create a common TimelockTestSuite that specific tests inherit (timelock_proposal/cancel/errors.go) and can use the same SetupSuite
| minDelay, err := inspector.GetMinDelay(ctx, s.mcmsContractID) | ||
| s.Require().NoError(err, "GetMinDelay should not return an error") | ||
| // The default minDelay is 0 (we set it to 0 microseconds in the test setup) | ||
| s.T().Logf("GetMinDelay returned: %d seconds", minDelay) |
There was a problem hiding this comment.
Let's check that the actual value is the expected
| Salt: cantontypes.TEXT(saltHex), | ||
| DelaySecs: cantontypes.INT64(delay.Seconds()), | ||
| } | ||
| operationDataEncoded, err = params.MarshalHex() |
There was a problem hiding this comment.
Make sure the godaml version in go.mod is updated, I don't think this is available in the current version
| } | ||
|
|
||
| // getMCMSContract queries the active MCMS contract by contract ID. | ||
| func (t *TimelockInspector) getMCMSContract(ctx context.Context, mcmsAddr string) (*mcms.MCMS, error) { |
There was a problem hiding this comment.
This is almost the same as in inspector.go, let's reuse it 👍
There was a problem hiding this comment.
Also, let's rename it to setMCMSContract
| return &TimelockExecutor{ | ||
| TimelockInspector: NewTimelockInspector(stateClient, client, userId, party), | ||
| client: client, | ||
| userId: userId, |
There was a problem hiding this comment.
I don't see userId used anywhere, can we remove it?
| // Build batch operation to increment counter | ||
| opAdditionalFields := cantonsdk.AdditionalFields{ | ||
| TargetInstanceId: s.counterInstanceID, // Already includes the party from deployCounterContract | ||
| FunctionName: "Increment", // Must match Daml choice name (capital I) |
There was a problem hiding this comment.
Can we add a test to set the MCMS config through a proposal?
No description provided.