feat: add signer methods to mcms adapters#844
Conversation
🦋 Changeset detectedLatest commit: d4908fa The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
26fff7e to
f3448e9
Compare
f3448e9 to
db26b0a
Compare
There was a problem hiding this comment.
Pull request overview
This PR updates the MCMS chain access adapter layer to expose per-chain signer/deployer keys across supported chain families, aligning the framework with new MCMS adapter expectations and updating the mcms dependency accordingly.
Changes:
- Add signer accessor methods to
ChainAccessAdapterand split Sui access into separateSuiClientandSuiSignermethods (breaking change). - Update unit tests to validate new client/signer accessors for most chains.
- Add mockery config and generated mocks for Aptos/Sui/TON interfaces; bump
github.com/smartcontractkit/mcmstov0.37.0.
Reviewed changes
Copilot reviewed 8 out of 10 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
go.mod |
Bumps github.com/smartcontractkit/mcms to v0.37.0. |
go.sum |
Updates checksum entries for the mcms version bump. |
chain/mcms/adapters/chain_access.go |
Adds signer getters (EVM/Solana/Aptos/Sui/TON/Stellar) and changes Sui client accessor signature. |
chain/mcms/adapters/chain_access_test.go |
Expands tests to cover new accessors and updated Sui API shape. |
chain/aptos/mocks/aptos_rpc_client.go |
Adds generated Aptos RPC client mock. |
chain/aptos/mocks/transaction_signer.go |
Adds generated Aptos transaction signer mock. |
chain/ton/mocks/api_client_wrapped.go |
Adds generated TON API client wrapper mock. |
.mockery.yml |
Configures mockery generation for Aptos/Sui/TON interfaces. |
.changeset/mean-views-punch.md |
Adds a changeset entry for the release. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 8 out of 10 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
chain/mcms/adapters/chain_access_test.go:156
- The adapter adds a
StellarSigneraccessor, but this test suite doesn't assert its behavior (either for unknown selectors or for a known Stellar chain). Please add assertions fora.StellarSigner(...)similar to the other signer accessors so regressions are caught.
gotStellar, ok := a.StellarClient(stellarSel)
require.True(t, ok)
require.Nil(t, gotStellar)
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|




This PR adds additional methods to MCMS's chain adapters, exposing the chain's signer object (aka, the deployer key) for most supported chain families.
It introduces a small breaking change (the original Sui method was split into SuiClient and SuiSigner), but this is already addressed in a PR to the only client of this API.
OPT-463