-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: construct queued proposals with predecessors #276
Conversation
🦋 Changeset detectedLatest commit: 44ed3ec 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 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! I think it might be worth to add and e2e test for this one since it's a slightly complex scenario that we want to test against an in memory chain just to ensure the op count is being managed correctly. It would also help to add a usage on docs, something like "Chaining Proposals Together".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you please provide a description in the PR? 🙏
This seems like a non-trivial patch which warrants a bit more context. It's for our own future selves' sake. 😬
|
@@ -41,7 +44,7 @@ func LoadProposal(proposalType types.ProposalKind, filePath string) (ProposalInt | |||
// Ensure the file is closed when done | |||
defer file.Close() | |||
|
|||
return NewProposal(file) | |||
return NewProposal(file, []io.Reader{}) // TODO: inject predecessors |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I forgot to ask: is this a blocker?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
oh shoot not a blocker but that was a miss
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but I'll second Pablo's request for an e2e test. Would be good to have a ticket for it in our tech-debt epic?
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/[email protected] ### Minor Changes - [#276](#276) [`27b77d5`](27b77d5) Thanks [@akhilchainani](https://github.com/akhilchainani)! - Update constructors to add predecessor proposals for queuing - [#254](#254) [`aad56bd`](aad56bd) Thanks [@gustavogama-cll](https://github.com/gustavogama-cll)! - feat(solana): add setRoot simulator - [#279](#279) [`3287f3c`](3287f3c) Thanks [@ecPablo](https://github.com/ecPablo)! - Fix bug with multichain timelock execution with predecessors calculation ### Patch Changes - [#274](#274) [`28d52c3`](28d52c3) Thanks [@graham-chainlink](https://github.com/graham-chainlink)! - fix(solana): fix simulator side effect bug Co-authored-by: app-token-issuer-engops[bot] <144731339+app-token-issuer-engops[bot]@users.noreply.github.com>
Ill add this and that |
Enables users to construct proposals given a list of preceding, non-executed proposals, such that proposal signing can happen in parallel assuming a pre-determined sequential execution order. The key changes are as follows:
Enhancements to Proposal Creation:
NewProposal
andNewTimelockProposal
functions to accept a list of predecessor proposals, allowing for the configuration of operation counts based on the execution order of proposals. (proposal.go
,timelock_proposal.go
) [1] [2]Documentation Updates:
docs/usage/building-proposals.md
to explain how to build proposals with staged but non-executed predecessor proposals.Code Refactoring:
NewProposal
andNewTimelockProposal
function signatures that include predecessor proposals. (ledger_test.go
,signing.go
,proposal_test.go
,timelock_proposal_test.go
) [1] [2] [3] [4]New Methods:
TransactionCounts
,ChainMetadatas
, andSetChainMetadata
methods to theProposalInterface
to manage chain metadata more effectively. (proposal.go
,timelock_proposal.go
) [1] [2]Minor Changes:
.changeset/shaggy-pianos-remember.md
file to reflect the minor version update for the@smartcontractkit/mcms
package.